由于 VIM 是用 C 语言编写的,因此许多功能都假设使用类似 C 语言的语法。默认情况下,如果你的光标在 {
或 #endif
, 就可以使用 %
跳转到与之匹配的 }
或 #ifdef
。
VIM 自带了一个名为 matchit.vim 的插件,但是默认没有启用。启用后可以用 %
在 HTML 相匹配的标签或 VimL 的 if/else/endif 块之间进行跳转,它还带来了一些新的命令。
在 VIM 8 中安装
" vimrc
packadd! matchit
在 VIM 7 或者更早的版本中安装
"vimrc
runtime macros/matchit.vim
由于 matchit 的文档很全面,我建议安装以后执行一次下面的命令:
:!mkdir -p ~/.vim/doc
:!cp $VIMRUNTIME/macros/matchit.vim ~/.vim/doc
:helptags ~/.vim/doc
简短的介绍
至此这个插件已经可以使用了。 参考 :h matchit-intro
来获得支持的命令以及 :h matchit-languages
来获得支持的语言。你可以很方便的定义自己的匹配对,如:
autocmd FileType python let b:match_words = '\<if\>:\<elif\>:\<else\>'
之后你就可以在任何的 Python 文件中使用 %
(向前)或 g%
(向后)在这三个片断之间跳转了。
帮助文档:
:h matchit-install
:h matchit
:h b:match_words