前言
日常使用 vim 的時候經(jīng)常有跳轉(zhuǎn)到特定目錄下某個文件的需求:
- 使用 vimwiki 記筆記時會默認把所有筆記保存在目錄 ~/vimwiki 下, 當(dāng)我們想查看某個筆記時就打開那個目錄下的某個文件;
- 我平時會寫一些 shell 工具, 保存在 ~/bin 目錄下, 就會有在這個目錄下創(chuàng)建或者打開文件的需求;
- 如果你用 ultisnip 之類的插件的話, 就需要經(jīng)常編輯不同類型文件對應(yīng)的 snippets 文件;
- …
根據(jù)我個人的使用經(jīng)驗, 在特定目錄下打開某個文件 的需求還是很多的, 于是便寫了插件 filejumper 來實現(xiàn)這個需求.
這個插件提供了下面這些功能:
- 通過一行配置能快速定義和某個目錄綁定的 command;
- 通過執(zhí)行 command filename 能快速打開對應(yīng)目錄下的某個文件, 能通過 tab 鍵補全文件名;
- 能通過指定不同的 vim 命令以不同的模式打開文件, 如 command filename vnew 等;
下面就會介紹如何安裝, 配置已經(jīng)使用這個插件.
安裝和配置
可以通過 vim-plug
進行安裝:
1
|
plug 'https://github.com/hiberabyss/filejumper' |
安裝完成后通過配置變量 g:file_jumper_command
來定義不同的 command, 下面是插件默認的配置:
1
2
3
4
|
let g:file_jumper_command = { \ "gbin" : { 'dir' : expand ( "$home/bin" ), 'extension' : '' }, \ "gwiki" : { 'dir' : g:myvimwikidir, 'extension' : '.wiki' , 'keymap' : '<leader>wg' }, \ } |
- gbin 之類的是命令名;
- dir 表示和這個命令綁定的目錄;
- extension 表示對應(yīng)目錄下的文件的默認后綴名, 在打開文件時會被自動添加上去;
- keymap 表示給這個命令映射一個快捷鍵;
如何使用
執(zhí)行 gbin pyserver
就會默認通過 tabnew ~/bin/pyserver
來打開對應(yīng)的文件:
在上面的演示中, 我們只輸入了 py 然后按 tab 鍵就可以自動補全文件名 pyserver.
我們也可以通過添加 vim 命令來決定文件的打開方式:
從上面的演示中可以看出在使用了 vnew 或者 e 之后, vim 打開文件的方式會和默認的不一樣. 我們也可以使用 bot vnew
之類的復(fù)合命令.
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對服務(wù)器之家的支持。
原文鏈接:https://hiberabyss.github.io/2018/04/13/vim-file-jumper/