天天看點

vim插件3--dict

vim插件3--dict

功能

vim-dict插件主要用于從本地或者特定伺服器查找相關資料,此功能正常情況下用不上;

vim-dict有一個不錯的功能為從特定的字典檔案中補全文本或單詞;

此外可以用 .dict檔案來實作不同類型代碼的自動補全功能

安裝方法

vim-dict插件是以vim腳本的形式存在,是以隻需要将其下載下傳下來放到相應的目錄即可。具體安裝方法如下:

1)從下面網址下載下傳vim-dict的安裝包,并解壓,得到doc/dict.txt和plugin/dict.vim檔案;

Vim online  ​​ https://vim.sourceforge.io/scripts/script.php?script_id=4180​​

Github             ​​https://github.com/szw/vim-dict​​

2)将plugin下的腳本檔案(.vim)和doc下的幫助檔案(.txt)分别拷貝至vim的 plugin和doc目錄

注意:

若初次安裝vim,可能沒有~/.vim目錄,此時需要建立該目錄,并建立doc和plugin目錄;

使用方法

1)dict的基本功能,可以通過 :help dict或者:h dict來檢視,本人暫時很少使用這些基本功能,此處不做介紹;

2)dict的補全功能

作者介紹如下:

Useful tips

On Ubuntu you might want to add system dictionary to Vim:

set dictionary+=/usr/share/dict/words

This will enable the dictionary in the insert mode (CTRL-X CTRL-K). Additionaly it could be useful to add the dictionary to the standard word completions (CTRL-N...) for text and Markdown file types.

即:将/usr/share/dict/目錄下的words字典檔案加入到目前vi中,那麼輸入某個單詞一部分的時候可以按下(CTRL-X CTRL-K)顯示補全的内容,然後使用Ctrl-N及Ctrl-P上下選擇,實作補全功能;

實際使用如下:

假設在~/.vim/dict目錄下建立了一個mydict檔案;

在vi模式下通過 :set dictionary+=~/.vim/dict/mydict 将mydict檔案加入到vim的查找功能中;

輸入模式下輸入 myd然後 按<Ctrl-X><Ctrl-K>就會彈出對應的補全菜單,然後用Ctrl-N及Ctrl-P上下選擇即可實作補全;

效果如下圖所示:

vim插件3--dict

若将 set dictionary+=~/.vim/dict/mydict 放在vimrc中,則會每次打開vi的時候都預設可以使用mydict字典總的内容進行補全;

注意:

使用該方式補全的時候,需要使用<Ctrl-X> <Ctrl-K>  <Ctrl-N> <Ctrl-P>等快捷鍵,似乎不太友善,建議使用該功能之前安裝一個autocomplpop,安裝autocomplpop後就可以自動顯示補全内容,上下鍵選擇下拉項了;

詳見  ​​vim插件2--autocomplpop​​ 

需要注意的是使用該方式後,隻能加載 dictionary+=中的字典檔案,會導緻其它方法設定的字典檔案無法使用;

3) .dict 檔案的另一種使用方法

通常我們可以從網上下載下傳一些常用的dict檔案,或者自己編輯一份自己的dict檔案,然後用于coding中自動補全,以上方式提供的方法在特定場合存在一定缺陷,現在提供另一種方法将特定檔案類型和特定dict檔案關聯起來,以便于不同類型代碼的補全功能

假定~/.vim/dict目錄下存在如下幾個dict檔案:

c.dict 、php_funclist.dict、css.dict、cpp.dict、scale.dict、javascript.dict

那麼我們可以在vimrc重建立相應加載規則:

au FileType php setlocal dict+=~/.vim/dict/php_funclist.dict
au FileType css setlocal dict+=~/.vim/dict/css.dict
au FileType c setlocal dict+=~/.vim/dict/c.dict
au FileType cpp setlocal dict+=~/.vim/dict/cpp.dict
au FileType scale setlocal dict+=~/.vim/dict/scale.dict
au FileType javascript setlocal dict+=~/.vim/dict/javascript.dict
au FileType html setlocal dict+=~/.vim/dict/javascript.dict
au FileType html setlocal dict+=~/.vim/dict/css.dict      

vi打開x.c(注意為c檔案),insert模式下輸入si就會加載目前檔案下的單詞和c.dict檔案下的單詞,如下圖所示:

其中,前4個補全單詞為autocomplpop插件根據目前文檔内容查找的,後面都是從c.dict中查找的;

注意:

使用此種方法進行文法補全的時候,需要關閉2)中的set dictionary方法,對于2)中的 規則若加入到vimrc中,應該在不用的時候注釋掉,需要用的時候再打開;

指令說明:

au FileType html setlocal dict+=~/.vim/dict/javascript.dict

au FileType html setlocal dict+=~/.vim/dict/css.dic

該指令将html類型的檔案和 css.dict  javascript.dict檔案關聯起來了,若要将js檔案和以上檔案關聯,隻需要增加如下兩行即可:

au FileType js setlocal dict+=~/.vim/dict/javascript.dict

au FileType js setlocal dict+=~/.vim/dict/css.dict

該方式的好處為可以自由對檔案類型和字典進行關聯,而且可以手動更改dict中補全的内容為自己需要的類型

繼續閱讀