Ubuntu 搭建强大的 IDE —— Vim + Vundle + 插件(下)

xiaoxiao2021-02-28  51

在上一节(http://blog.csdn.net/lu_embedded/article/details/76732965)我们已经通过 Vundle 下载、安装了一些插件,这些插件有一些可以直接用、有一些需要配置、有一些则需要编译,下面我们一一来看一下常用的一些插件应该怎样用起来吧。


  首先要讲的是 YouCompleteMe,它应该是最难安装的一个插件了。vundle 已经帮我们做了一部分工作,但还不能使它正常工作起来,对于 C/C++ 用户来说,我们还需要编译 ycm_core.so 和 libclang.so。编译方法如下:

$ cd ~/.vim/bundle/YouCompleteMe $ ./install.sh --clang-completer WARNING: this script is deprecated. Use the install.py script instead. ERROR: please install CMake and retry. $ ./install.py --clang-completer ERROR: please install CMake and retry.

  YouCompleteMe 目录下有两个安装脚本,install.sh 和 install.py,显然根据执行情况来看,install.sh 已经失效了,最后执行的是 install.py。但是,需要 CMake 的支持!   于是我们 apt-get 一下吧:

$ sudo apt-get install cmake

  很可惜,对于 Ubuntu 12.04 的用户来说,这种方法并不行。因为 install.py 要求的 CMake 需要 2.8.11 以上版本。所以我们还是手动安装一下吧:

$ wget http://www.cmake.org/files/v2.8/cmake-2.8.12.1-Linux-i386.tar.gz $ tar zxvf cmake-2.8.12.1-Linux-i386.tar.gz $ cd cmake-2.8.12.1-Linux-i386 $ sudo cp bin/* /usr/bin/ $ sudo cp -r share/cmake-2.8 /usr/share/

  好了,现在可以继续执行 ./install.py --clang-completer ,可惜还不成功,提示如下:

$ ./install.py --clang-completer Searching Python 2.7 libraries... Found Python library: /usr/lib/python2.7/config/libpython2.7.so Found Python headers folder: /usr/include/python2.7 -- The C compiler identification is GNU 4.6.3 -- The CXX compiler identification is GNU 4.6.3 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done CMake Error at CMakeLists.txt:217 (message): Your C++ compiler does NOT fully support C++11. ......

  显然,这次是由于 C++ 编译器不完全支持 C++ 11 造成的,因为 g++ 4.8 以上版本才完全支持 C++11 啊!而 Ubuntu 12.04 中用 apt-get 安装的是 4.6 版本的,所以还是手动升级一下 gcc 和 g++ 吧。具体方法参考:http://www.linuxidc.com/Linux/2014-03/97445.htm。   哎呀!我真是命苦,还以为万事大吉了,结果还是出错了:

...... g++: internal compiler error: Killed (program cc1plus) Please submit a full bug report,

  经检查发现是因为我的虚拟机内存不足呀,编译 Linux 都没问题,没想到编译这个会出问题。。。好吧,面对这个情况,我们可以加大虚拟机的内存分配,或者临时使用交换分区来解决!   再次执行 ./install.py --clang-completer,这次终于顺利编译通过了!忘了截图。。。不过没关系,我们在 third_party/ycmd/ 目录看到 libclang.so 和 ycm_core.so 就可以了。

$ cd ~/.vim/bundle/YouCompleteMe/third_party/ycmd/ $ ls *.so* libclang.so.4 libclang.so.4.0 ycm_core.so

  还差一步,运行 vim 的时候我们发现缺少 .ycm_extra_conf.py 文件。那就拷贝一份吧:

$ cd ~/.vim/bundle/YouCompleteMe/ $ cp ./third_party/ycmd/examples/.ycm_extra_conf.py ~/.vim/

  然后在 ~/.vimrc 中添加如下配置:

let g:ycm_server_python_interpreter='/usr/bin/python' let g:ycm_global_ycm_extra_conf='~/.vim/.ycm_extra_conf.py'

  好了,打开 vim 试一下呗!


  搞定 YouCompleteMe 就完成了一大步了,其他插件的用法都比较简单,我在这里就大概列一下插件及其作用吧。(注意:有些插件存在包含与被包含的关系,有些插件功能相似,因此选择其中的一些使用即可。)   

YouCompleteMe —— 代码补全Syntastic —— 语法检查SuperTab —— 使 Tab 快捷键具有更快捷的上下文提示功能Ctags —— 实现变量名、函数名的跳转(需遍历源代码文件生成 tags 文件)Cscope —— 升级版 CtagsTagList —— 显示当前文件中的宏、全局变量、函数等 tag(类似于 SourceInsight 的功能)Tagbar —— TagList 的替代品(更适合于 C++)AutoPairs —— 自动插入和格式化括号Powerline —— 状态栏Vim-airline —— Powerline 的替代品Echofunc —— 自动显示函数声明Snipmate —— 自动插入代码(代码重用工具)NERDTree —— 文件浏览器(树形目录)Ctrlp —— 文件浏览器(重新定义打开目录和文件的方式,更适用于大规模项目文件的浏览)MiniBufferExplorer —— 缓冲区文件管理器NERDCommenter —— 快速注释Undotree —— 支持 undo 和 redoGdbmgr —— 调试器

Molokai —— 颜色主题

阿基米东 认证博客专家 架构 Linux MySQL 每天都在学习,每天都在折腾的一线工程师,在嵌入式 Linux、RT-Thread、IoT、DJango、miniapp、Git、软件管理等方面拥有丰富经验。工作之余喜欢打球、游泳、读书、写字。
转载请注明原文地址: https://www.6miu.com/read-42773.html

最新回复(0)