一步步在 Centos 7 上搭建 vim C++ IDE

2018-02-27 10:54:48来源:oschina作者:oldbiwang人点击

分享

安装 vim , 安装插件, 目录插件, buffer 插件, 括号自动成对的插件,代码自动补全插件(还支持 STL 的补全)。



在安装过程中,每个人遇到的问题都会不一样,所以只能一个个解决问题。可以通过 Google + stackoverflow 解决问题,其实现在好多软件都托管在 github,上面会有安装教程,以及一些常见问题,所以善于利用 github,也可以解决大部分问题。


注: 权限不够使用 sudo


1 安装 vim
下载 vim-8.0.tar.bz2源码包
解压并安装


tar -xvf vim-8.0.tar.bz2
cd vim80
cd src
make
make install

或者按照官网介绍的使用 git 安装


git clone https://github.com/vim/vim.git
cd vim
# Building Vim 安装 vim
# Build and install Vim as usual. If you are happy with the defaults:
cd src
make distclean# if you build Vim before 如果你之前安装了 vim
make
sudo make install

如果安装成功后,应该会有~/.vim 这个目录,它非常重要,插件都是安装在这个目录,奇怪的是我要手动创建,还有一个 .vimrc 配置文件。(.viminfo 文件记录的 vim 的操作信息)。


我在安装过程中出现了



configure: error: NOT FOUND! You need to install a terminal library; for example ncurses. Or specify the name of the library with --with-tlib.



这是缺失库文件


yum install ncurses-devel

2.安装管理 vim 插件的插件 pathogen



出现了 Unknown function: pathogen#infect



这时说明 .vimrc 配置文件里有配置执行这个函数,但是你还没有安装 pathogen 插件,所以要安装 pathogen。


这个插件的作用是管理你以后在 vim 安装的所有插件,把插件安装到 ~/.vim/bundle/ 目录下, 如果以后不想要哪个插件,只需将 ~/.vim/bundle/目录下的该插件目录删除即可,非常灵活。


接下来我们安装 pathogen 插件


mkdir -p ~/.vim/autoload ~/.vim/bundle && /
curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim

创建该插件所需要的目录, 把 pathogen.vim 安装在 ~/.vim/autoload 目录,vim 会自动载入这个目录下的 pathogen 插件(目录名 autoload 顾名思义),将插件交给 pathogen 管理。创建 ~/.vim/bundle 目录是用来存放管理以后要安装插件。


在 .vimrc 里配置,加上下面这句话,意思是执行这个函数 infect():


execute pathogen#infect()
# 如果没有 .vimrc 文件, 则 vim ~/.vimrc ,然后黏贴下面这几句话
execute pathogen#infect()
syntax on
filetype plugin indent on

3.安装自动补齐括号、引号的插件,auto-pairs



为什么要安装 pathogen? 在这里就显示出它的强大了。如果使用 vim 的默认目录,我们需要手动创建每一个目录(有五六个吧,doc, plugin 等等, 自行查询),然后再将每一个要安装的插件对应的目录放进这些目录,真的太麻烦了。比如对应的是插件文件,还有阅读说明文档文件等等。



现在呢?我们在 ~/.vim/ 目录下有, ~/.vim/autoload/ ,这个目录是 pathogen 的安装目录, 还有一个 ~/.vim/bundle 目录,我们以后装插件只要往 ~/.vim/bundle 一扔就 ok 了。 最简单的就是在这个目录下, 敲下:


# xxx.git 为仓库的地址
git clone xxx.git
git clone git://github.com/jiangmiao/auto-pairs.git ~/.vim/bundle/auto-pairs

测试 auto-pairs , 敲下括号自动补齐右括号,可以试试引号 “:


auto-pairs


4.安装显示目录树 NERDTree


git clone https://github.com/scrooloose/nerdtree.git ~/.vim/bundle/nerdtree

测试一下:



shift + : , 然后输入 NERDTree 可看到结果



NERDTree


或者在 ~/.vimrc 配置快捷键,加上 map :NERDTreeToggle 这句话, 以后 ctrl + n 就能打开了


#How can I open a NERDTree automatically when vim starts up?
#Stick this in your vimrc: autocmd vimenter * NERDTree
map :NERDTreeToggle

按下 ? 可查看帮助


5.安装MiniBufExplorer 的改进版


git clone git@github.com:fholgado/minibufexpl.vim.git ~/.vim/bundle/minibufexpl

测试, 可以打开多个 buffer, :vsp 加文件名:
buffer


6.安装 taglist


taglist 依赖 ctags ,默认自带, 没有就自己安装


sudo yum install ctags

下载 taglist 到 bundle 目录


git clone https://github.com/vim-scripts/taglist.vim.git

注: 如果使用 git@github.com:vim-scripts/taglist.vim.git 可能会出错,要配置 SSH, 为了简便,我就没有解决这个问题,所以改为使用 https。public key error


测试, 用 vim 打开一个文件,然后输入 TlistToggle :


taglist


和 NERDTree 一起使用


6


7.安装 C++ 自动补齐插件 OmniCppComplete


git clone https://github.com/vim-scripts/OmniCppComplete.git ~/.vim/bundle/

三个文件:


6


在 test 目录,生成 tags 文件,这样才能自动补全:


ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++

测试:


7


自动补全快捷键 ctr+x ctr+o , 上下选择快捷键 ctr+nctr+p。


8.支持 STL 自动补全


在这里下载 cpp_src.tar.bz2


创建 ~/.vim/bundle/tags 目录,将 vim 大神修改后的源码解压到此目录。
进入目录 ~/.vim/tags/cpp_src,为 STL 生成 tags 文件。


ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++

设置 ~/.vimrc 文件, 让 vim 加载该标签


set tags+=~/.vim/tags/cpp_src/tags

测试一下(ctrl + o ctrl + x 自动补全,和上一个差不多):


8


还有一个 SuperTab 插件, 从名字可知和 Tab 的功能差不多。
至此最基本的 C++ IDE 功能已基本完成。


总结: 插件的安装和配置每一次变化都很大,自定义的程度也很高。关键是善于利用搜索博客,官网,GitHub 这些,官网 和 GitHub 的安装教程是最好最简单最权威的。


参考博客

最新文章

123

最新摄影

闪念基因

微信扫一扫

第七城市微信公众平台