vim因其強大的擴展性一直深受linux程序員的喜愛,最近在用vim寫verilog的時候,由於一個邏輯塊中的begin end較多,常常會多寫或者漏掉匹配關鍵字,很是苦惱,於是尋找匹配關鍵字間跳轉的方法,發現matchit可以用%在關鍵字之間實現跳轉,還可以自定義更多的關鍵字,相當方便。
以下正片:
1、安裝 matchit插件
matchit 插件是vim默認自帶的,但是不安裝。安裝方法可以在vim 的help里查看:
- $ vi 打開一個空白文件
- :help matchit-install
就能看到安裝步驟了,打開terminal:
- $ mkdir ~/.vim
- $ mkdir ~/.vim/plugin
- $ cp $VIMRUNTIME/macros/matchit.txt ~/.vim/plugin($VIMRUNTIME可能沒有。可以在vim里 :echo $VIMRUNTIME來查看路徑)
2、定義所需關鍵字
定義關鍵字主要是給 |b:match_words| 定義一個合適的模板,在.vimrc文件中定義模板就行。
- 打開 ~/.vimrc
- 下面是我的配置:
let b:match_word='\<begin\>:\<end\>,' \ . '\<while\>:\<continue\>:<break\>:\<endwhile\>,' \ . '\<if\>:\<else if\>:<else\>,' \ . '\<module\>:\<endmodule\>,' \ . '\<task\>:\<endtask\>,' \ . '\<function\>:\<endfunction\>,' \ . '\<program\>:\<endprogram\>' let b:matchit_ignorecase=1 "開啟 忽略大小寫
其中 let b:match_ignorecase = 1 為忽略大小寫,如begin可以匹配到END
設置完成后,在關鍵字如begin上按%,光標就會跳轉到與之匹配的end上,灰常慌便