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= "开启 忽略大小写
其中 let b:match_ignorecase = 1 为忽略大小写,如begin可以匹配到END
设置完成后,在关键字如begin上按%,光标就会跳转到与之匹配的end上,灰常慌便