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

安装 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 , 敲下括号自动补齐右括号,可以试试引号 “:

一步步在 Centos 7 上搭建 vim C++ IDE_第1张图片

4.安装显示目录树 NERDTree

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

测试一下:

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

一步步在 Centos 7 上搭建 vim C++ IDE_第2张图片

或者在 ~/.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 加文件名:
一步步在 Centos 7 上搭建 vim C++ IDE_第3张图片

6.安装 taglist

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

sudo yum install ctags

下载 taglist 到 bundle 目录

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

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

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

一步步在 Centos 7 上搭建 vim C++ IDE_第4张图片

和 NERDTree 一起使用

一步步在 Centos 7 上搭建 vim C++ IDE_第5张图片

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

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

三个文件:

一步步在 Centos 7 上搭建 vim C++ IDE_第6张图片

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

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

测试:

一步步在 Centos 7 上搭建 vim C++ IDE_第7张图片

自动补全快捷键 ctr+x ctr+o , 上下选择快捷键 ctr+n ctr+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 自动补全,和上一个差不多):

一步步在 Centos 7 上搭建 vim C++ IDE_第8张图片

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

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

参考博客

你可能感兴趣的:(Vim)