Ubuntu下使用AutoComlPop和OmniCppComplete实现变量补全和代码补全
2017-03-02 21:36
465 查看
一 使用AutoComlPop实现变量补全
1 下载AutoComlPop:
下载地址:http://www.vim.org/scripts/script.php?script_id=1879
2 安装
查看根目录
若根目录下没有.vim目录,则创建
进入.vim目录
解压下载的zip文件包(默认下载路径为~/Download)
重新打开vim即可使用,效果如下图:
![](https://img-blog.csdn.net/20170302214914656?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveXVoYW5nZmVuZw==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
二 使用OmniCppComplete实现代码补全:
参考链接:http://vim.wikia.com/wiki/C%2B%2B_code_completion?action=edit§ion=1
1 下载OmniCppComplete并解压到~/.vim/目录下
下载地址:https://vim.sourceforge.io/scripts/script.php?script_id=1520
2 在.vim目录下创建tags目录
3 下载并解压tags for std c++文件到tags文件夹
下载地址:https://vim.sourceforge.io/scripts/script.php?script_id=2358
移动压缩文件到本目录(最后一行有个”.”)
解压命令
4 运行ctags命令
5 增加其余的ctags命令
以上代码针对opencv2,也可以自己添加想要添加的代码库,例子如下:
6 修改.vimrc配置文件
如果你的~/目录下没有.vimrc文件,将/etc/vim/路径下的vimrc文件复制到~/目录下
复制vimrc文件至~目录下
将vimrc文件重命名为.vimrc
如果权限不允许,请用root执行以上操作,并将.vimrc的所有者改为你的用户
7 编辑你的.vimrc配置文件
向其中加入如下代码:
重新打开vim即可使用,效果如下图:
1 下载AutoComlPop:
下载地址:http://www.vim.org/scripts/script.php?script_id=1879
2 安装
查看根目录
$ cd ~ $ ll
若根目录下没有.vim目录,则创建
$ mkdir .vim
进入.vim目录
$ cd ~/.vim
解压下载的zip文件包(默认下载路径为~/Download)
$ unzip vim-autocomplpop.zip
重新打开vim即可使用,效果如下图:
二 使用OmniCppComplete实现代码补全:
参考链接:http://vim.wikia.com/wiki/C%2B%2B_code_completion?action=edit§ion=1
1 下载OmniCppComplete并解压到~/.vim/目录下
下载地址:https://vim.sourceforge.io/scripts/script.php?script_id=1520
$ cd ~/.vim $ unzip ~/Downloads/omnicppcomplete-0.41.zip
2 在.vim目录下创建tags目录
$ mkdir ~/.vim/tags
3 下载并解压tags for std c++文件到tags文件夹
下载地址:https://vim.sourceforge.io/scripts/script.php?script_id=2358
移动压缩文件到本目录(最后一行有个”.”)
$ cd ~/.vim/tags $ mv ~/Downloads/cpp_src.tar.bz2 .
解压命令
$ tar -jxvf cpp_src.tar.bz2
4 运行ctags命令
$ ctags -R --sort=1 --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ -f cpp cpp_src
5 增加其余的ctags命令
$ ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ -f opencv /usr/include/opencv/ # for opencv $ ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ -f opencv2 /usr/include/opencv2/ # for opencv2
以上代码针对opencv2,也可以自己添加想要添加的代码库,例子如下:
$ ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++ -f <ctags名称> <库的绝对路径>
6 修改.vimrc配置文件
如果你的~/目录下没有.vimrc文件,将/etc/vim/路径下的vimrc文件复制到~/目录下
复制vimrc文件至~目录下
$ cp /etc/vim/vimrc ~ $ cd ~
将vimrc文件重命名为.vimrc
$ mv vimrc .vimrc
如果权限不允许,请用root执行以上操作,并将.vimrc的所有者改为你的用户
7 编辑你的.vimrc配置文件
$ vim ~/.vimrc
向其中加入如下代码:
set nocp "vim不工作在兼容模式下 filetype plugin indent on "网上很多教程都没有这两行,导致最后无法实现补全功能 " configure tags - add additional tags here or comment out not-used ones set tags+=~/.vim/tags/cpp set tags+=~/.vim/tags/opencv set tags+=~/.vim/tags/opencv2 "此处添加第5部中添加的ctags名称 " build tags of your own project with Ctrl-F12 map <C-F12> :!ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q .<CR> " OmniCppComplete let OmniCpp_NamespaceSearch = 1 let OmniCpp_GlobalScopeSearch = 1 let OmniCpp_ShowAccess = 1 let OmniCpp_ShowPrototypeInAbbr = 1 " show function parameters let OmniCpp_MayCompleteDot = 1 " autocomplete after . let OmniCpp_MayCompleteArrow = 1 " autocomplete after -> let OmniCpp_MayCompleteScope = 1 " autocomplete after :: let OmniCpp_DefaultNamespaces = ["std", "_GLIBCXX_STD"] " automatically open and close the popup menu / preview window au CursorMovedI,InsertLeave * if pumvisible() == 0|silent! pclose|endif set completeopt=menuone,menu,longest,preview
重新打开vim即可使用,效果如下图:
相关文章推荐
- Vim中利用OmniCppComplete实现C++代码自动补全
- vim插件之AutoComplPop和OmniCppComplete的安装和使用
- vim 添加代码补全功能(Omnicppcomplete 添加对STL支持)
- vim下使用YouCompleteMe实现代码提示、补全以及跳转设置
- Vim中C/C++代码补全插件-omnicppcomplete
- vim之AutoComplPop和OmniCppComplete的安装和使用
- vim之AutoComplPop和OmniCppComplete的安装和使用
- Vim中C/C++代码补全插件-omnicppcomplete
- vim之AutoComplPop和OmniCppComplete的安装和使用
- Vim中C/C++代码补全插件-omnicppcomplete
- 使用AutoCompleteExtender实现文本框自动匹配
- 使用ASP.NET Atlas AutoComplete Behavior或AutoComplete Extender实现自动完成功能(下)
- 使用AutoCompleteExtender实现文本框自动匹配
- 使用AutoCompleteExtender实现自动完成
- AutoCompleteTextView输入汉字拼音首字母实现过滤提示(支持多音字,Filterable的使用)
- Emacs 使用 auto-complete 补全
- [编]使用AutoCompleteExtender实现文本框自动匹配
- 在VIM中如何用ctags给c++代码打tags:omnicppcomplete
- 使用ASP.NET Atlas AutoComplete Behavior或AutoComplete Extender实现自动完成功能(上) 【转自http://dflying.cnblogs.com】
- 简单代码autocomplete="off"实现禁用input输入框的自动提示功能