vim插件和配置
第一步:安裝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
總結
- 上一篇: NAT协议
- 下一篇: STM32之CAN总线原理