Ruoshan's jiffies

About Archive

vim的一些默认不打开但很有用的选项和功能

On 19 Jun 2013, By Ruoshan Huang

  1. 关于补全,很多网上的推荐都是插件比如supertab之类的。我开始也使用,但是发现没原生的简单便捷。

    • 请先:h ins-complete.

    • 插入下的补全中要设置这几个变量,dictionary和path。dictionary是使用ctrl-x ctrl-k是使用的字典文件; path是ctrl-x ctrl-i是查找对应include 头文件的位置。第一个相当于查字典,可以设置为set dictionary="/usr/share/dict/words". 第二个为想C这类语言补全常用函数库,可以设置为set path+="/usr/include". 设置后可以补全像printf(linux C 的各种接口)等的函数了。

    • 还有一个是不需要配置目录的(当然rtp还是要配的),那就是omni complete,使用 ctrl-x ctrl-o调用。这个补全必须打开filetype onfiletype plugin on.

  2. set scrolloff=5这个设置是让光标移到倒数第5行的时候就开始滚动,浏览会比较舒服。

  3. set formatoptions+=nMtcqset formatoptions-=l这个设置可以对中文合并行以及自动换行有帮助,能去掉合并行时多余的空格等。帮助见:h fo-table.

  4. matchit.vim这个插件包含在vim的runtime中,却没有被使用,它是对%命令的加强,不只对{}[]<>()等这类的块结构进行来回跳转,还能对if...end(if),<div>...</div>的这样的结构进行跳转,这对于Ruby,LaTex,xml这类语言来说非常方便。启用它只要把它从/usr/share/vim/vim73/marcos/matchit.vim 中拷贝到你的.vim/plugin/中即可。

  5. 2013-08-19 更新:用vim写python,可能会发现vim在开启smartindent后,每次它都会把python的注释直接缩进到最左。这个的解决方法是inoremap # X^H# 请注意这个”^H”符号是ctrl-v ctrl-h得到的(也可以是inoremap # X<BS>#)。