让vim支持c++代码自动补全功能。

时间:2022-07-26 15:29:28
vim在默认情况下是没有这个功能的,我们需要下载一个插件和一个软件来实现这个功能。

插件:omnicppcomplete

软件:ctags

ctags一般系统默认就有。

下载并安装插件 omnicppcomplete:

解压:unzip omincppcomplete.zip -d ~/.vim

omnicppcomplete至此安装成功。

运行vim,然后在vim的命令模式下输入 :helptags $HOME/.vim/doc ,这样可以添加omnicppcomplete的帮助文件到vim。

你可以继续输入:h omnicppcomplete来查看插件提供的文档,里边有安装和使用的所用方法。

在你的vim配置文件(~/.vimrc,没有可以新添加一个)加上以下几句:

set nocp
filetype plugin on
map <C-F12> :!ctags -R –c++-kinds=+p –fields=+iaS –extra=+q .<CR>

使用方法:

omnicppcomplete主要依赖ctags生成的tags文件来判断补全的,所以首先应该生成一定的信息。也就是说应该先把类写好,然后再生成tags,以后出现对象的 ”.” 或 ”->”成员操作时它自动寻找成员函数。

在vim编辑文件时按Ctrl+F12,ctags会把这个文件所在目录以及子目录的所有文件信息收集生成一个名为tags的文件存在当前编辑文件所在目录。然后就可以实现代码自动补全咯。 在~/.vimrc中添加的 map…… 那句宏就实现这个功能。注意,如果要让新编写的文件可以使用则需先写入,命令为 :w

如果在补全时受不了[预览]窗口的打扰可以打开vim配置文件加入

set completeopt=menu

测试环境:

1, fedora10 + vim7.2 + Exuberant Ctags 5.7

2, ubuntu8.04 + …..