安装 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 , 敲下括号自动补齐右括号,可以试试引号 “:
4.安装显示目录树 NERDTree
git clone https://github.com/scrooloose/nerdtree.git ~/.vim/bundle/nerdtree
测试一下:
shift + : , 然后输入 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
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 :
和 NERDTree 一起使用
7.安装 C++ 自动补齐插件 OmniCppComplete
git clone https://github.com/vim-scripts/OmniCppComplete.git ~/.vim/bundle/
三个文件:
在 test 目录,生成 tags 文件,这样才能自动补全:
ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q --language-force=C++
测试:
自动补全快捷键 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 自动补全,和上一个差不多):
还有一个 SuperTab 插件, 从名字可知和 Tab 的功能差不多。
至此最基本的 C++ IDE 功能已基本完成。
总结: 插件的安装和配置每一次变化都很大,自定义的程度也很高。关键是善于利用搜索博客,官网,GitHub 这些,官网 和 GitHub 的安装教程是最好最简单最权威的。
参考博客