第一步:安装vim
sudo apt-get install vim
第二步:简单配置vim
sudo vim /etc/vim/vimrc
在最后添加参数,如下:
set nu " 显示行号
set autoindent " 自动缩进
set cindent
set tabstop=4 " tab键缩进4格
syntax on " 语法高亮
set mouse=a " 开启鼠标事件
第三步:安装插件
1.安装自动补全插件YoucompleteMe,语法检查插件syntastic,Git集成插件fugitive
1.1 sudo apt-get install vim-youcompleteme vim-syntastic vim-fugitive
sudo apt-get upgrade
vam install youcompleteme
1.2 配置youcompleteme
sudo vim /etc/vim/vimrc
在最后添加参数,如下:
" 自动补全配置
set completeopt=longest,menu "让Vim的补全菜单行为与一般IDE一致(参考VimTip1228)
autocmd InsertLeave * if pumvisible() == 0|pclose|endif "离开插入模式后自动关闭预览窗口
inoremap <expr> <CR> pumvisible() ? "\<C-y>" : "\<CR>" "回车即选中当前项
"上下左右键的行为 会显示其他信息
inoremap <expr> <Down> pumvisible() ? "\<C-n>" : "\<Down>"
inoremap <expr> <Up> pumvisible() ? "\<C-p>" : "\<Up>"
inoremap <expr> <PageDown> pumvisible() ? "\<PageDown>\<C-p>\<C-n>" : "\<PageDown>"
inoremap <expr> <PageUp> pumvisible() ? "\<PageUp>\<C-p>\<C-n>" : "\<PageUp>"
"youcompleteme 默认tab s-tab 和自动补全冲突
let g:ycm_key_list_select_completion = ['<Down>']
let g:ycm_key_list_previous_completion = ['<Up>']
let g:ycm_confirm_extra_conf=0 "关闭加载.ycm_extra_conf.py提示
let g:ycm_collect_identifiers_from_tags_files=1 " 开启 YCM 基于标签引擎
let g:ycm_min_num_of_chars_for_completion=1 " 从第1个键入字符就开始罗列匹配项
let g:ycm_cache_omnifunc=0 " 禁止缓存匹配项,每次都重新生成匹配项
let g:ycm_seed_identifiers_with_syntax=1 " 语法关键字补全
nnoremap <F5> :YcmForceCompileAndDiagnostics<CR> "force recomile with syntastic
inoremap <leader><leader> <C-x><C-o>
nnoremap <F8> :YcmCompleter GoToDefinitionElseDeclaration<CR> " 按F8跳转到定义处
let g:ycm_key_invoke_completion = '<F9>' "设F9为补全快捷键
"在注释输入中也能补全
let g:ycm_complete_in_comments = 1
"在字符串输入中也能补全
let g:ycm_complete_in_strings = 1
"注释和字符串中的文字也会被收入补全
let g:ycm_collect_identifiers_from_comments_and_strings = 0
2.安装文件浏览器TagList和窗口管理器WinManager插件
2.1 TagList下载地址:http://www.vim.org/scripts/script.php?script_id=273
WinManager下载地址:http://www.vim.org/scripts/script.php?script_id=95
2.2 下载好之后解压,并把doc和plugin中的文件对应放到 ~/.vim下的doc和plugin中
2.3 配置TagList和WinManager
sudo vim /etc/vim/vimrc
在最后添加参数,如下:
let Tlist_Show_One_File=1
let Tlist_Exit_OnlyWindow=1
let g:winManagerWindowLayout='FileExplorer|TagList' " TagList窗口和netrw窗口整合起来
nmap <F7> :WMToggle<cr> " 按F7键窗口显示或关闭
3.安装Ctags插件,配置和使用方法
3.1 安装
sudo apt-get install ctags
3.2 配置
进入相应源码目录 --> ctags -R
sudo vim /etc/vim/vimrc
在最后添加参数,如下
set tags+= " 后面跟上生成tags的目录
3.3 使用
补全:因为装了YoucompleteMe,并且配置了 let g:ycm_collect_identifiers_from_tags_files=1
所以会自动补全tags生成目录的相关代码
跳转:Ctrl+鼠标左键
4.安装快速浏览和操作Buffer插件MiniBufExplorer和源/头文件切换插件A
4.1 MiniBufExplorer下载地址:http://www.vim.org/scripts/script.php?script_id=159
A下载地址:http://www.vim.org/scripts/script.php?script_id=31
4.2 下载好之后直接放到 ~/.vim/plugin/ 里面
4.3 配置
sudo vim /etc/vim/vimrc
在最后添加参数,如下
nnoremap <silent> <F12> :A<CR> "按F12键可以在源文件和头文件之间来回切换
4.4 使用当打开多个文件的时候MiniBufExplorer会自动弹出
F12 在头文件和源文件之间切换
Ctrl+o和Ctrl+i 前后跳转
鼠标双击MiniBufExplorer中文件名 任意跳转
光标指向MiniBufExplorer中文件名按d键删除MiniBufExplorer中文件
5.安装查找插件Grep
5.1 下载地址:http://www.vim.org/scripts/script.php?script_id=311
5.2 下载好之后放到 ~/.vim/plugin/ 里面
5.3 配置
sudo vim /etc/vim/vimrc
在最后添加参数,如下
nnoremap <silent> <F11> :Grep<CR> "按F11键,光标处的字段将在整个工程进行搜索
第四步:键盘映射
sudo vim /etc/vim/vimrc
在最后添加参数,如下:
" Ctrl+c 复制
vmap <C-c> yi
imap <C-c> y
" Ctrl+v 粘贴
imap <C-v> <Esc>p
" Ctrl+x 剪切
vmap <C-x> di
imap <C-x> d
map <C-x> vdi
" Ctrl+z 撤销
imap <C-z> <Esc>u
" Ctrl+a 全选
vmap <C-a> ggVG
imap <C-a> <Esc>vggVG
map <C-a> vggVG