VIM實(shí)現(xiàn)文件快速跳轉(zhuǎn)插件詳解
日常使用 VIM 的時(shí)候經(jīng)常有跳轉(zhuǎn)到特定目錄下某個(gè)文件的需求:
- 使用 vimwiki 記筆記時(shí)會(huì)默認(rèn)把所有筆記保存在目錄 ~/vimwiki 下, 當(dāng)我們想查看某個(gè)筆記時(shí)就打開(kāi)那個(gè)目錄下的某個(gè)文件;
- 我平時(shí)會(huì)寫(xiě)一些 shell 工具, 保存在 ~/bin 目錄下, 就會(huì)有在這個(gè)目錄下創(chuàng)建或者打開(kāi)文件的需求;
- 如果你用 ultisnip 之類(lèi)的插件的話(huà), 就需要經(jīng)常編輯不同類(lèi)型文件對(duì)應(yīng)的 snippets 文件;
- …
根據(jù)我個(gè)人的使用經(jīng)驗(yàn), 在特定目錄下打開(kāi)某個(gè)文件 的需求還是很多的, 于是便寫(xiě)了插件 FileJumper 來(lái)實(shí)現(xiàn)這個(gè)需求.
這個(gè)插件提供了下面這些功能:
- 通過(guò)一行配置能快速定義和某個(gè)目錄綁定的 command;
- 通過(guò)執(zhí)行 command filename 能快速打開(kāi)對(duì)應(yīng)目錄下的某個(gè)文件, 能通過(guò) tab 鍵補(bǔ)全文件名;
- 能通過(guò)指定不同的 vim 命令以不同的模式打開(kāi)文件, 如 command filename vnew 等;
下面就會(huì)介紹如何安裝, 配置已經(jīng)使用這個(gè)插件.
安裝和配置
可以通過(guò) vim-plug 進(jìn)行安裝:
Plug 'https://github.com/hiberabyss/FileJumper'
安裝完成后通過(guò)配置變量 g:file_jumper_command 來(lái)定義不同的 command, 下面是插件默認(rèn)的配置:
let g:file_jumper_command = {
\ "Gbin": {'dir': expand("$HOME/bin"), 'extension': ''},
\ "Gwiki": {'dir': g:myvimwikidir, 'extension': '.wiki', 'keymap': '<Leader>wg'},
\ }
- Gbin 之類(lèi)的是命令名;
- dir 表示和這個(gè)命令綁定的目錄;
- extension 表示對(duì)應(yīng)目錄下的文件的默認(rèn)后綴名, 在打開(kāi)文件時(shí)會(huì)被自動(dòng)添加上去;
- keymap 表示給這個(gè)命令映射一個(gè)快捷鍵;
如何使用
執(zhí)行 Gbin pyserver 就會(huì)默認(rèn)通過(guò) tabnew ~/bin/pyserver 來(lái)打開(kāi)對(duì)應(yīng)的文件:

在上面的演示中, 我們只輸入了 py 然后按 tab 鍵就可以自動(dòng)補(bǔ)全文件名 pyserver.
我們也可以通過(guò)添加 vim 命令來(lái)決定文件的打開(kāi)方式:

從上面的演示中可以看出在使用了 vnew 或者 e 之后, vim 打開(kāi)文件的方式會(huì)和默認(rèn)的不一樣. 我們也可以使用 bot vnew 之類(lèi)的復(fù)合命令.
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)本站的支持。
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信