Linux中 vim 实现代码补全
vim 中代码补全
此部分内容主要是介绍如何实现在vim中进行代码补全,其可分为以下几个步骤:
步骤1:判断
判断当前系统中是否具有补全功能,即随便创建一个文件,比如 test.c,
 在其命令行模式中输入
:set omnifunc?
 
若结果呈现
omnifunc=ccomplete#Complete
 
即
 
 则说明此时可利用 Ctrl+n 或 Ctrl+p 实现C程序补全,但无法实现C++程序补全!
步骤2:安装 OmniCppComplete
 
于 OmniCppComplete : C/C++ omni-completion with ctags database 中下载 OmniCppComplete,如图,并进行安装!
 
安装比较简单,可直接在对应文件夹下解压即可!为了使其他用户亦可实现此功能,可在 /home/ 中自己添加一个文件夹如 .vim 并进行上述包的解压,具体代码如下:
cd /home/
mkdir .vim  //可利用 ls -a 进行查看
cd .vim
mkdir tags  //方便后续操作
 
然后将OmniCppComplete放入.vim中,此处一个简单方法是先下载到桌面,然后直接拖入到xshell(我用的是xshell)中,然后输入
unzip omnicppcomplete-0.41.zip  //解压
 
如下
 
 解压成功则如
 
步骤3:
于 tags for std c++ (STL, streams, …) 中下载 cpp_src 包,如图,并解压于上述 tags 文件夹中
 
代码为
cd tags/
bunzip2 cpp_src.tar.bz2
tar -xvf cpp_src.tar 
 

步骤4:些许其他操作
在 tags 目录下运行
ctags -R –c++-kinds=+p –fields=+iaS –extra=+q –language-force=C++ cpp_src
 
当运行结束后,若出现 tags 文件则说明可以继续后续操作!如下
 
然后在 vimrc 文件中插入下述语句
set tags+=/your path/tags  
 
可通过pwd进行当前路径的查看,然后根据自己的路径将上述语句添加到vimrc中,如下
 

结果
当成功进行上述步骤后,便可利用 Ctrl+n 或 Ctrl+p 对程序进行补全操作,如图
 
利用 Tab 键进行补全
此处操作比较简单,即将下述代码添加进 vimrc 文件中即可
function! CleverTab()
     if strpart( getline('.'), 0, col('.')-1 ) =~ '^\s*$'
         return "\<Tab>"
     else
         return "\<C-N>"
     endif
endfunction
inoremap <Tab> <C-R>=CleverTab()<CR>
 
如图
 
 此时便可利用 Tab 键进行代码补全!
以上内容结合了多个教程,比如 Linux——VIM开发C++自动补全(STL、括号)和开发环境配置 、LINUX操作系统VIM代码TAB自动补全配置,读者可根据自身需求进行查看!
侵权删~










