备注1:如果为了省事,可以直接下载我上传的资源解压到Linux家目录下,就可以直接使用了。点此进入下载页面:vim_config.tar.bz2
备注2:博客将不定期更新
备注3:本博客主要记录配置VIM开发环境需要安装的各种必要插件,安装时一般推荐4个必装插件(前四个):ctags、nerdtree、Taglist、WinManager。后面插件可以选择性安装,也可以顺序全部安装。
一、准备工作
linux中vim插件都是在【~/.vim】目录下保存的,所以安装插件前务必创建该文件夹。
mkdir ~/.vim #如已存在,则无需创建
mkdir ~/lsy_backup_vim_plugin_source_code #下载的插件源码备份目录
备注:第二个文件夹【lsy_backup_vim_plugin_source_code】属于个人习惯,用于保存下载的插件源码,备份用。
后续安装插件则默认家目录下已有上面两个文件夹。
二、插件安装
1、Ctags
1.1 功能:代码追踪
1.2 安装方法
-
sudo apt-get install ctags //Ubuntu安装ctags whatis ctags //查看是否安装成功
1.3 使用方法
-
在代码根目录下执行命令:【ctags -R】用于生成代码索引关系
-
生成完成之后便可以使用快捷键来进行追踪与跳出追踪操作了
命令 含义 ctrl+] 追踪到光标所在字符定义的地方 ctrl+t 跳回(跳出追踪,vim中可以使用快捷键ctrl+o代替)
2、NERDTree
2.1 功能:vim中显示工程目录树
2.2 安装方法
-
下载NERDTree源码,并解压。
解压后生成四个文件夹【doc、nerdtree_plugin、plugin、syntax】,全部移动到【~/.vim目录】下cd ~/.vim/lsy_backup_vim_plugin_source_code wget http://www.vim.org/scripts/download_script.php?src_id=17123 -O nerdtree.zip unzip nerdtree.zip mv doc ~/.vim mv nerdtree_plugin ~/.vim mv plugin ~/.vim mv syntax ~/.vim
2.3 使用方法
- 安装好插件后,vim随便打开一个文件,输入【:NERDTree】(注意:是底行模式下的命令),即可打开NERDTree。
3、Taglist
3.1 功能:代码中显示当前文件的所有函数、宏、全局变量等
3.2 安装方法
(1)安装插件:
-
下载并解压taglist插件压缩包,会生成【doc和plugin】文件夹。
分别将【doc和plugin】中的文件,对应拷贝到.vimrc目录下的【doc和plugin】
mkdir ~/.vim #如已存在,则无需创建 mkdir ~/.vim/doc #如已存在,则无需创建 mkdir ~/.vim/plugin #如已存在,则无需创建 mkdir ~/.vim/lsy_backup_vim_plugin_source_code #如已存在,则无需创建 cd ~/.vim/lsy_backup_vim_plugin_source_code 下载taglist插件压缩包:【https://sourceforge.net/projects/vim-taglist/files/latest/download?source=files】,并将压缩包拷贝到该目录下 unzip 【压缩包名称】 cp ./doc/taglist.txt ~/.vim/doc cp ./plugin/taglist.vim ~/.vim/plugin
(2)在vimrc中加入如下代码:
-
打开vimrc
vim ~/.vimrc
-
插入如下代码
""""""""""""""""""taglist 设置 let Tlist_Auto_Open = 1 let Tlist_Ctags_Cmd = "/usr/bin/ctags" let Tlist_Show_One_File = 1 let Tlist_Exit_OnlyWindow = 1 set tags=tags
3.3 使用方法
-
vim打开某个文件,底行模式下输入命令,就可以看到该文件中的一些函数、变量等
:Tlist
-
如下图:
4、WinManager
4.1 功能:将Vim配置的更像IDE
集成上述两个插件nerdtree和Taglist,在同一窗口显示,此插件巨牛逼,上述插件全部安装后,再安装此插件,可以将vim环境配置的如同IDE一样,用过source insight的同学可能会非常喜欢这样的环境。
4.2 安装方法
(1)安装插件
-
下载并解压taglist插件压缩包,会生成【doc和plugin】文件夹。
分别将【doc和plugin】中的文件,对应拷贝到.vimrc目录下的【doc和plugin】
mkdir ~/.vim #如已存在,则无需创建 mkdir ~/.vim/doc #如已存在,则无需创建 mkdir ~/.vim/plugin #如已存在,则无需创建 mkdir ~/.vim/lsy_backup_vim_plugin_source_code #如已存在,则无需创建 cd ~/.vim/lsy_backup_vim_plugin_source_code 下载压缩包:【http://www.vim.org/scripts/download_script.php?src_id=754】,并将压缩包拷贝到该目录下 unzip 【压缩包名称】,会生成一个doc文件夹和plugin文件夹 cp ./doc/* ~/.vim/doc cp ./plugin/* ~/.vim/plugin
(2)vimrc中增加winmanager插件配置:
-
打开vimrc文件
vim ~/.vimrc
-
加入如下配置代码
""""""""""""""""""配置WinManager let g:winManagerWindowLayout='FileExplorer|TagList' "设置打开WinManager插件快捷键为F9" nmap <silent> <F9> :WMToggle<cr> "进入vim时自动打开插件" let g:AutoOpenWinManager = 1 "设置winmanager的宽度,默认为25" let g:winManagerWidth = 30
备注:
(1)【nmap <silent> <F9> :WMToggle】表示:【F9】可以切换该插件打开关闭状态,如果按F9没用,则首先应该考虑是否是其他软件热键冲突导致!!!换个其他按键试试即可试出来!!!切记!!!
(2)【let g:AutoOpenWinManager = 1】表示:打开文件时自动打开winmanager插件,如果不想自动打开可以将其设置为0。该命令需要在winmanager.vim文件中增加一些代码,具体代码见下小节【配置方法】。
4.3 配置方法
-
如果想要该插件自动打开后,光标直接定位在右边代码窗口,可以在 ~/.vim/plugin/winmanager.vim文件末尾增加以下代码:
"set auto open Winmanager" if g:AutoOpenWinManager autocmd VimEnter * nested call s:StartWindowsManager()|3wincmd w endif
其中:3wincmd w中的3表示模拟3次w按键使光标自动跳转到打开的文件,而不是Nerdtree或者Tagbar窗口。
4.4 使用方法
- 快捷键:F9可以打开或者关闭该插件。
效果如下:
5、Powerline
5.1 功能:字体 & 界面
让自己的vim界面更(花)加(里)好(胡)看(哨)。
5.2 安装方法
-
安装pip
sudu apt-get install python-pip
-
安装powerline-ststus
pip2 install powerline-status
-
获取Local路径
pip2 show powerline-status
-
出来一大段log,其中有一行Loaction:xxxxx的字样,如:Location: /home/lsy/.local/lib/python2.7/site-packages。
冒号后面的为后面步骤需要的路径,暂时称之为:myPath -
打开.vimrc文件
vim ~/.vimrc
-
在vimrc文件中添加如下代码
注意第二行有个:"set rtp+=后面的myPath即为上步骤中获取到的路径,需要进行替换,各位需要根据自己的实际路径进行替换
"""""""Powerline""""""" set rtp+=/myPath/powerline/bindings/vim "These lines setup the environment to show graphics and colors correctly. set nocompatible set t_Co=256 let g:minBufExplForceSyntaxEnable = 1 if ! has('gui_running') set ttimeoutlen=10 augroup FastEscape autocmd! au InsertEnter * set timeoutlen=0 au InsertLeave * set timeoutlen=1000 augroup END endif set laststatus=2 " Always display the statusline in all windows set guifont=Inconsolata\ for\ Powerline:h14 set noshowmode " Hide the default mode text (e.g. -- INSERT -- below the statusline) "字体补丁 let laststatus = 2 "使用powerline打过补丁的字体" let g:airline_powerline_fonts = 1 let g:Powerline_symbols='fancy'
-
Ubuntu安装powerline字体
cd ~ git clone https://github.com/powerline/fonts.git cd fonts ./install.sh cd .. rm -rf fonts
-
退出终端重新打开即可。
备注:另外,如果有同学使用的secureCRT或者putty等软件,需要在windows中也增加powerline字体,这样远程连接软件才能识别到字体,软件中也可以正常显示,否则还是乱码。方法如下:
-
下载Windows对应的powerline字体:点击这里下载字体
-
解压,并将字体拖拽到windows中如下目录:
C:\Windows\Fonts
-
配置软件(这里以secureCRT为例)
Options Session Options Terminal Appearance Fonts栏目中有个Font... 点击选择DejaVu开头的字体 点击OK,保存退出,未生效的话退出软件重启
-
如下图:
-
效果如下:
6、NERD_commenter 注释插件
6.1 功能:Vim中使用快捷方便的对代码进行注释/反注释
6.2 安装方法
-
在【~/.vim/】目录下新建一个文件夹,名字随便取,作为下载的vim插件源码备份,配置完后可以删除。然后进入该文件夹。
mkdir ~/.vim/lsy_backup_vim_plugin_source_code cd ~/.vim/lsy_backup_vim_plugin_source_code
-
下载nerdcommenter源码
git clone https://github.com/preservim/nerdcommenter.git
-
分别拷贝【插件源码中doc和plugin目录下的文件】到【vim插件中对应的doc和plugin目录】下,就算是插件已经安装好了
cp ./nerdcommenter/doc/NERD_commenter.txt ~/.vim/doc/ cp ./nerdcommenter/plugin/NERD_commenter.vim ~/.vim/plugin/
6.3 帮助文档
使帮助文档生效,即:在vim中可以使用帮助文档(备注:该操作为可选操作)
-
随便打开一个普通文件,如:xxx.c xxx.h等都行
vim ~/test.c
-
命令模式下(输入冒号进入命令模式),执行如下命令,以便可以使用插件的帮助文档
:helptags ~/.vim/doc/
6.4 插件配置(.vimrc)
默认该插件注释先要使用一个反斜杠【\】,然后才使用命令,可以自定义将反斜杠修改为其他符号,这里修改为逗号【,】。配置方法如下。
-
打开.vimrc文件,加入如下代码
"""""""""""""""""""""""""""""""""""""""""" """"""nerdcommenter config""""" "默认该插件注释先要使用一个反斜杠【\】,然后才使用命令,可以自定义将反斜杠修改为其他符号,这里修改为逗号【,】 let mapleader="," "nerdcommenter插件使用快捷键: " ,ca 切换注释风格,比如C/C++ 的块注释/* */和行注释// " ,cc 注释当前行 " ,c<space> 切换【注释/非注释】状态 " ,cs 以”性感”的方式注释 " ,cA 在当前行尾添加注释符,并进入Insert模式 " ,cu 取消注释 " "Normal模式下,几乎所有命令前面都可以指定行数。比如 输入 6,cs 的意思就是以性感方式注释光标所在行开始6行代码 "Visual模式下执行命令,会对选中的特定区块进行注释/反注释 "此外,其它的nerdcommenter命令可以在NORMAL模式下输入命令 :map 看到
6.5 使用方法:NERD_commenter 快捷键
见前面小节中.vimrc中加入的代码。