1、将/etc/.vimrc复制到~/目录下:
cp /etc/.vimrc ~/
2、VIM一般配置
在~/.vimrc文件最后加入以下配置:
"******************************************
" 一般配置 *
"******************************************
"关闭vim一致性原则
set nocompatible
"显示行号
set number
"设置在编辑过程中右下角显示光标的行列信息
set ruler
"在状态栏显示正在输入的命令
set showcmd
"设置历史记录条数
set history=1000
"设置取消备份,禁止临时文件的生成
"set nobackup
"set noswapfile
"设置匹配模式
set showmatch
"设置C/C++方式自动对齐
set autoindent
set cindent
"开启语法高亮功能
syntax enable
syntax on
"指定配色方案为256色
set t_Co=256
"设置搜索时忽略大小写
set ignorecase
"配置backspace的工作方式
set backspace=indent,eol,start
"设置在vim中可以使用鼠标
set mouse=a
"设置tab宽度
set tabstop=4
"设置自动对齐空格数
set shiftwidth=4
"设置退格键时可以删除4个空格
set smarttab
set softtabstop=4
"将tab键自动转换为空格
set expandtab
"设置编码方式
set encoding=utf-8
"自动判断编码时 依次尝试以下编码
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
"检测文件类型
filetype on
"针对不同的文件采取不同的缩进方式
filetype indent on
"允许插件
filetype plugin on
"启动智能补全
filetype plugin indent on
3、安装插件管理器Vundle
使用git直接安装:git clone https:
//github
.com
/gmarik/vundle
.git ~/.vim
/bundle/vundle
在~/.vimrc文件最后加入以下配置:
"*********************************************************
" vundle 配置 *
"*********************************************************
" vundle {
set
rtp+=~/.vim
/bundle/vundle/
" 如果在windows下使用的话,设置为
"
set
rtp+=$HOME/.vim
/bundle/vundle/
call vundle
#rc()
" }
"
"
let
Vundle manage Vundle
" required!
Bundle
'gmarik/vundle'
" My Bundles here:
"
" original repos on github
" github上的用户写的插件,使用这种用户名+repo名称的方式
" Bundle
'tpope/vim-fugitive'
" Bundle
'Lokaltog/vim-easymotion'
" Bundle
'rstacruz/sparkup'
, {
'rtp'
:
'vim/'
}
" Bundle
'tpope/vim-rails.git'
" vim-scripts repos
" vimscripts的repo使用下面的格式,直接是插件名称
Bundle
'taglist.vim'
Bundle
'SuperTab'
Bundle
'vimwiki'
Bundle
'winmanager'
Bundle
'bufexplorer.zip'
Bundle
'The-NERD-tree'
Bundle
'matrix.vim--Yang'
Bundle
'FencView.vim'
Bundle
'Conque-Shell'
Bundle
'Vimpress'
Bundle
'Markdown'
Bundle
'LaTeX-Suite-aka-Vim-LaTeX'
Bundle
'c.vim'
Bundle
'snipMate'
" non github reposo
" 非github的插件,可以直接使用其git地址
" Bundle
'git://git.wincent.com/command-t.git'
" ...
"
" Brief help
" :BundleList - list configured bundles
" :BundleInstall(!) -
install
(update) bundles
" :BundleSearch(!) foo - search(or refresh cache first)
for
foo
" :BundleClean(!) - confirm(or auto-approve) removal of unused bundles
" vundle主要就是上面这个四个命令,例如BundleInstall是全部重新安装,BundleInstall!则是更新
" 一般安装插件的流程为,先BundleSearch一个插件,然后在列表中选中,按i安装
" 安装完之后,在vimrc中,添加Bundle
'XXX'
,使得bundle能够加载,这个插件,同时如果
" 需要配置这个插件,也是在vimrc中设置即可
" see :h vundle
for
more
details or wiki
for
FAQ
" NOTE: comments after Bundle
command
are not allowed..
备注:
Vim配置 | 简单说明 |
set nocompatible | 不要使用vi的键盘模式,而是vim自己的 |
filetype on | 侦测文件类型 |
filetype plugin on | 载入文件类型插件 |
filetype indent on | 为特定文件类型载入相关缩进文件 |
Vundle会自动给你下载和管理插件,所以,你只要填上你所需要的插件名称即可。对于不同类型的插件,有不同的地址填写方法。按上面的方法填写完毕就可以了。填写完成,保存退出后,打开一个vim窗口。
打开一个vim, 运行":BundleInstall"或者在命令行运行"vim +BundleInstall +qall",安装完成后插件就能用了。
其它常用命令:
-
更新插件":BundleUpdate"
-
清除不再使用的插件":BundleClean"
-
列出所有插件":BundleList"
-
查找插件":BundleSearch"
4、安装并配置Taglist插件
Taglist是以tags文件为基础,需要ctags生成tags文件。
安装ctags,Redhat和CentOS可以执行yum install ctags,Debian和Ubantu可以执行apt-get install ctags
下载Taglist,地址是http://sourceforge.net/projects/vim-taglist/files/vim-taglist/
解压taglist_46.zip,可以看到有两个目录doc和plugin,结构如下
taglist_46 | |-------- doc | \-------- taglist.txt | \-------- plugin \-------- taglist.vim
执行下列shell命令,即安装完成
cp doc/taglist.txt /usr/share/vim/vim72/doc/
cp plugin/taglist.vim /usr/share/vim/vim72/plugin/
使用方法:
在源码目录下,执行ctags -R对各目录递归创建生成tags文件
用Vim打开源码文件,以命令模式执行Tlist,即可启用Taglist插件,<F1>可以查看taglist的帮助信息
在taglist窗口中,可以使用下面的快捷键:
<CR> 跳到光标下tag所定义的位置,用鼠标双击此tag功能也一样
o 在一个新打开的窗口中显示光标下tag
<Space> 显示光标下tag的原型定义
u 更新taglist窗口中的tag
s 更改排序方式,在按名字排序和按出现顺序排序间切换
x taglist窗口放大和缩小,方便查看较长的tag
+ 打开一个折叠,同zo
- 将tag折叠起来,同zc
* 打开所有的折叠,同zR
= 将所有tag折叠起来,同zM
[[ 跳到前一个文件
]] 跳到后一个文件
q 关闭taglist窗口
<F1> 显示帮助
在~/.vimrc文件后面加入以下配置信息:
"*****************************************************
" taglist配置 *
"*****************************************************
" "不显示"press F1 to display help"
let Tlist_Compact_Format=1
"窗口在左侧显示
let Tlist_Use_Right_Window=1
"只显示当前文件的tags
let Tlist_Show_One_File=1
"高亮显示
let Tlist_Auto_Highlight_tag=1
"随文件自动更新
let Tlist_Auto_Update=1
"设置宽度
let Tlist_WinWidth=30
"taglist窗口是最后一个窗口,则退出vim
let Tlist_Exit_OnlyWindow=1
"单击跳转
let Tlist_Use_SingClick=1
"打开关闭快捷键
nnoremap <silent> <F8> :TlistToggle<CR>
5、安装配置目录树插件NERD tree
下载地址:http://www.vim.org/scripts/script.php?script_id=1658
解压nerdtree.zip,可以看到有四个目录doc、nerdtree_plugin、plugin和syntax,结构如下
nerdtree | |-------- doc | \-------- NERD_tree.txt |
|-------- nerdtree_plugin| \-------- exec_menuitem.vim| \-------- fs_menu.vim|
|-------- plugin\-------- syntax \-------- nerdtree.vim| \-------- NERD_tree.vim|
执行下列shell命令,即安装完成
cp doc/NERD_tree.txt /usr/share/vim/vim72/doc/ cp plugin/NERD_tree.vim /usr/share/vim/vim72/plugin/
这样插件已经安装完成,,启动VIM的时候,默认是不会激活该插件的,如要在命令模式下键入
: NERDTree
此时所看到的VIM界面是分成左右两部分视窗,左边是文档树,右侧是当前正在编辑的文件。
在~/.vimrc文件后面加入以下配置信息:
"********************************************************
" NERD_Tree 配置 *
"********************************************************
"显示增强
let NERDChristmasTree=1
"自动调整焦点
let NERDTreeAutoCenter=1
"鼠标模式:目录单击,文件双击
let NERDTreeMouseMode=2
"打开文件后自动关闭
let NERDTreeQuitOnOpen=1
"显示文件
let NERDTreeShowFiles=1
"显示隐藏文件
let NERDTreeShowHidden=1
"高亮显示当前文件或目录
let NERDTreeHightCursorline=1
"显示行号
let NERDTreeShowLineNumbers=1
"窗口位置
let NERDTreeWinPos='left'
"窗口宽度
let NERDTreeWinSize=31
"不显示'Bookmarks' label 'Press ? for help'
let NERDTreeMinimalUI=1
"快捷键
nnoremap <silent> <F4> :NERDTreeToggle<CR>
你可以双击文件在当前的窗口打开,也可以中键点击文件,在一个新的分割窗口内打开,也可以用 t 键,在一个新的标签页打开文件,C键可以把当前的目录作为顶极目录,? 就可以得到一个常用命令手册,更详细的命令和功能可以查看 NERD tree 的帮助:
:help
NERD_tree.txt 。
- o 打开关闭文件或者目录比如键入[ESC]后,输入:o sort1.c,则打开目录下sort1.c文件。
- t 在标签页中打开
- T 在后台标签页中打开
- ! 执行此文件
- p 到上层目录
- P 到根目录
- K 到第一个节点
- J 到最后一个节点
- u 打开上层目录
- m 显示文件系统菜单(添加、删除、移动操作)
- ? 帮助
- q 关闭
6、安装配置自动补全神器:YouCompleteMe
安装之前先安装python:sudo apt-get install python2.7-dev
由于前面已经安装插件管理工具Bundle,可以用它来安装YCM,在~/.vimrc文件Bundle配置部分加上如下语句:
Bundle 'Valloric/YouCompleteMe'
保存退出,执行:source ~/.vimrc使之生效,打开vim(vim 文件名),在vim命令模式输入:BundleInstall进行安装。如果安装成功,你将看到Done!的提示字样。
然后到~/.vim/bundle/YouCompleteMe 下执行命令:
./install.sh --clang-completer
参数是为了支持c/c++的补全
cp third_party/ycmd/examples/.ycm_extra_conf.py ~/
有可能需要先安装cmake,安装步骤查看如下网址:http://www.linuxidc.com/Linux/2012-10/72216.htm
YouCompleteMe 的补全配置文件在/bundle/YouCompleteMe/cpp/ycm/.ycm_extra_conf.py,这是个隐藏文件。
默认会使用这个文件,也可以把这个文件copy到工程的根目录中作修改,打开工程文件时会优先使用当前目录下的配置文件。
如果找不到,会根据配置中的ycm_global_ycm_extra_conf 进行查找。
"*****************************************************
" YouCompleteMe配置 *
"*****************************************************
"leader映射为逗号“,”
let mapleader = ","
"配置默认的ycm_extra_conf.py
let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/third_party/ycmd/cpp/ycm/.ycm_extra_conf.py'
"按,jd 会跳转到定义
nnoremap <leader>jd :YcmCompleter GoToDefinitionElseDeclaration<CR>
"打开vim时不再询问是否加载ycm_extra_conf.py配置
let g:ycm_confirm_extra_conf=0
"使用ctags生成的tags文件
let g:ycm_collect_identifiers_from_tag_files = 1