vim 代码自动补齐

1 安装vim
  sudo apt-get install vim


  首先在.vimrc中配置 
  set nocompatible
  /*
  set compatible 就是让 vim 关闭所有扩展的功能,尽量模拟 vi 的行为。这样子就不能应用vim很多强大的扩张功能
  set nocompatible,关闭兼容模式。由于这个选项是最最基础的选项,会连带很多其它选项发生变动(称作副作用),所以它必需是第一个设定的选项。
*/




set mouse=a   //是鼠标点击有作用
    








1 如何安装autocomplpop(此工具的作用就是会主动提示你已经定义的变量或者函数类型)
 
首先下载最新的文件:vim-autocomplpop(官网下载地址:https://vim.sourceforge.io/scripts/script.php?script_id=1879)


可以直接将文件拷贝到~/.vim中,然后unzip文件就可以了


再打开vim文件就可以了。








2 如何安装ctags( 此工具为源码的变量/对象、结构体/类、函数/接口、宏等产生索引文件,以便快速定位)
1) 两种安装方式 :
1.1在线安装:


sudo apt-get install ctags (ubuntu)


(RedHat系列使用:yum install ctags)
若不成功,可能是因为源的问题,换一下软件源update后重新执行上述命令即可。
1.2手动下载安装:
下载地址
Official site: http://ctags.sourceforge.net/
VIM online: http://www.vim.org/scripts/script.php?script_id=610
参考步骤(以5.8版本ctags-5.8.tar.gz为例)
解压后
$ cd ctags-5.8
$ ./configure
$ make
# make install
安装结束后,使用ctags命令测试是否成功
或whatis ctags, whereis ctags等


2) 生产ctags
通常位于代码项目的最上层目录下执行如下指令生成tags文件(我是在Desktop的c++ 文件件下面生成的)
ctags -R --c++-kinds=+p --fields=+iaS --extra=+q(执行完成这个指令后,会生产一个tags文件)


--c++-kinds=+p : 为标签添加函数原型(prototype)信息  
--fields=+iaS : 为标签添加继承信息(inheritance),访问控制(access)信息,函数特征(function Signature,如参数表或原型等)  
--extra=+q : 为类成员标签添加类标识  


3)配置ctags
在vim中用set tags来查看已设置的tags文件路径。
要是使用的话必须在vim打开的文件中进行配置::set tags=./tags

但是以上的方法太麻烦了,每次新开一个文件都要配置,我们可以在.vimrc中进行配置。
set tags+=~/Desktop/c++/tags   (这样子就不用每次都设置了,新建的文件也可以使用)





ctags -R --c++-kinds=+p --fields=+iaS --extra=+q  ~/Project





3 如何安装 omnicppcomplete-0.41(基于ctags的索引文件提供全面的c++(类成员、继承、this指针、.->访问符等)的代码补全功能)
 首先从http://www.vim.org/scripts/script.php?script_id=1520下载最新文件,然后解压缩。
 
 1)将文件omnicppcomplete-0.41.zip 拷贝到~/.vim目录下面
 2)使用unzip  omnicppcomplete-0.41.zip  指令会将文件解压并覆盖和合并原有的文件夹
 3)配置omnicppcomplete
                omnicppcomplete脚本插件的基本设置,在~/.vimrc中添加(我的喜好设置):
"打开文件类型检测功能
filetype on


"不同文件类型采用不同缩进
filetype indent on


"允许使用插件
filetype plugin on
filetype plugin indent on

set nocp      //关闭vi模式
filetype plugin on
                set completeopt=menu,menuone  
                let OmniCpp_MayCompleteDot=1    “  打开  . 操作符
                let OmniCpp_MayCompleteArrow=1  "打开 -> 操作符
                let OmniCpp_MayCompleteScope=1  ”打开 :: 操作符
                let OmniCpp_NamespaceSearch=1   “打开命名空间
                let OmniCpp_GlobalScopeSearch=1  
                let OmniCpp_DefaultNamespace=["std"]  
                let OmniCpp_ShowPrototypeInAbbr=1  “打开显示函数原型
                let OmniCpp_SelectFirstItem = 2”自动弹出时自动跳至第一个 
 


 
 备注:假如每次都新建一个cpp文件时候,要重新 生产tags文件一下,不然omni这个功能就没有作用了
 
 ctags -R --c++-kinds=+p --fields=+iaS --extra=+q  ~/Project
 
 
 
 4 如何安装taglist
 
  从 http://www.vim.org/scripts/script.php?script_id=273下载最新的软件包,直接解压缩放到 ~/.vim目录下
  
  然后再进行下关的配置,就在.vimrc 文件里进行配置就可以了。
  
"设置ctags路径
let Tlist_Ctags_Cmd = '/usr/bin/ctags'


"启动vim后自动打开taglist窗口
let Tlist_Auto_Open = 1


"不同时显示多个文件的tag,仅显示一个
let Tlist_Show_One_File = 1


"taglist为最后一个窗口时,退出vim
let Tlist_Exit_OnlyWindow = 1


"taglist窗口显示在右侧,缺省为左侧
let Tlist_Use_Right_Window =1


"设置taglist窗口大小
"let Tlist_WinHeight = 100
let Tlist_WinWidth = 40


"设置taglist打开关闭的快捷键F8
noremap :TlistToggle


"更新ctags标签文件快捷键设置
noremap :!ctags -R
  
let Tlist_Use_SingleClick=1   //设置单击tab就调转到tag定义的位置 
 
  
  配置好后,进入taglist,会提示你Failed to generate tags 
  这是因为taglist插件只支持exuberant ctags tool,不支持GNU ctags或UNIX ctags,Mac或Ubuntu下自带的并不是exuberant ctags,
  所以执行TlistToggle vim报错,解决方案如下:
   重新安装一次taglist ,就可以了
  sudo apt-get install ctags 
  
  
 
 


C++开发中经常会用到C++标准库的代码,因此STL的自动补全很重要。可以下载一份C++标准库的源代码来测试一下自动补全功能。


sudo apt-get install build-essential

你可能感兴趣的:(随笔)