1. 安裝vundle
https://github.com/kaigeli/Vundle.vim/blob/master/README_ZH_CN.md
$ git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
-
配置vundle :
請將以下加在 .vimrc
方可使用Vundle.
set nocompatible " 去除VI一致性,必須
filetype off " 必須
" 設置包括vundle和初始化相關的runtime path
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
" 另一種選擇, 指定一個vundle安裝插件的路徑
"call vundle#begin('~/some/path/here')
" 讓vundle管理插件版本,必須
Plugin 'VundleVim/Vundle.vim'
" 你的所有插件需要在下面這行之前
call vundle#end() " 必須
filetype plugin indent on " 必須 加載vim自帶和插件相應的語法和文件類型相關腳本
" 忽視插件改變縮進,可以使用以下替代:
"filetype plugin on
"
" 簡要幫助文檔
" :PluginList - 列出所有已配置的插件
" :PluginInstall - 安裝插件,追加 `!` 用以更新或使用 :PluginUpdate
" :PluginSearch foo - 搜索 foo ; 追加 `!` 清除本地緩存
" :PluginClean - 清除未使用插件,需要確認; 追加 `!` 自動批准移除未使用插件
"
" 查閱 :h vundle 獲取更多細節和wiki以及FAQ
" 將你自己對非插件片段放在這行之後
-
vundle安裝插件方法:
運行 vim
再運行 :PluginInstall
通過命令行直接安裝 vim +PluginInstall +qall
2. 安裝插件
在.vimrc文件中添加如下幾行,注意要放在call vundle#end()這一行之前
Bundle 'taglist.vim'
Bundle 'ctrlpvim/ctrlp.vim'
let g:ctrlp_map = '<leader>p'
let g:ctrlp_cmd = 'CtrlP'
map <S-f> :CtrlPMRU<CR> "緩存優先查找
map <S-p> :CtrlP<CR> "當前目錄含子目錄查找
let g:ctrlp_custom_ignore = {
\ 'dir': '\v[\/]\.(git|hg|svn|rvm)$',
\ 'file': '\v\.(exe|so|dll|zip|tar|tar.gz|pyc)$',
\ }
let g:ctrlp_working_path_mode=0
let g:ctrlp_match_window_bottom=1
let g:ctrlp_max_height=15
let g:ctrlp_match_window_reversed=0
let g:ctrlp_mruf_max=500
let g:ctrlp_follow_symlinks=1
Bundle 'tacahiroy/ctrlp-funky'
nnoremap <S-U> :CtrlPFunky<Cr>
"narrow the list down with a word under cursor
nnoremap <C-h> :execute 'CtrlPFunky ' . expand('<cword>')<Cr>
let g:ctrlp_funky_syntax_highlight = 1
let g:ctrlp_extensions = ['funky']
let Tlist_Ctags_Cmd='ctags'
let Tlist_Show_One_File=1 "不同時顯示多個文件的tag,只顯示當前文件的
let Tlist_WinWidt =30 "設置taglist的寬度
let Tlist_Exit_OnlyWindow=1 "如果taglist窗口是最後一個窗口,則退出vim
"let Tlist_Use_Right_Window=1 "在右側窗口中顯示taglist窗口
let Tlist_Use_Left_Windo =1 "在左側窗口中顯示taglist窗口
let Tlist_Auto_Open=1
let Tlist_Process_File_Always=1 "taglist始終解析文件中的tag,不管taglist窗口有沒有打開
map <silent> <F8> :TlistToggle<cr>
然後按shift+:輸入PluginInstall,稍等一會兒即可完成安裝。
完成安裝後如下會顯示如下:
ctrlp更多配置見文檔
3. 使用插件:
-
taglist:
常用命令:
ctags -R ./ ./指當前目錄,可以換目錄,或者換爲對應文件
常用快捷鍵:
Ctrl+]:跳轉到函數,或者變量的定義處
Ctrl+o:返回到上個位置
F8: 打開taglist,再按一下關閉taglist //再.vimrc配置文件中有設置
Ctrl+w+w:窗口切換,如可以切到taglist窗口
另外參考:https://blog.easwy.com/archives/advanced-vim-skills-introduce-vimrc/
<CR> 跳到光標下tag所定義的位置,用鼠標雙擊此tag功能也一樣
o 在一個新打開的窗口中顯示光標下tag
<Space> 顯示光標下tag的原型定義
u 更新taglist窗口中的tag
s 更改排序方式,在按名字排序和按出現順序排序間切換
x taglist窗口放大和縮小,方便查看較長的tag
+ 打開一個摺疊,同zo
- 將tag摺疊起來,同zc
* 打開所有的摺疊,同zR
= 將所有tag摺疊起來,同zM
[[ 跳到前一個文件
]] 跳到後一個文件
q 關閉taglist窗口
<F1> 顯示幫助
ctrlp
參考:https://github.com/ctrlpvim/ctrlp.vim#basic-usage
在.vimrc中我這邊設置了兩個快捷鍵:
shift+f:緩存優先查找文件
進入vim,normal模式下,快捷鍵效果如下:
shift+p:當前目錄下,遞歸子目錄查找,按快捷鍵即可快速查找對應文件
快捷鍵可以修改,在.vimrc文件中修改即可。
注意..vimrc文件中map映射時快捷鍵設置時:
<C-p> 指Ctrl+p
<S-p> 指shift+p
<leader>p 指\+p
另外幾個常用快捷鍵:參考:https://github.com/ctrlpvim/ctrlp.vim#basic-usage
Esc 退出查找
ctrl + j/k 進行上下選擇
ctrl + x 在當前窗口水平分屏打開文件
ctrl + v 同上, 垂直分屏
ctrl + t 在tab中打開
ctrlp-funky
ctrlp-funky 可以模糊搜索文件內容的方法名
目前主要設置了兩個快捷鍵:
shift+u:進入當前文件的函數列表搜索
ctrl+h:搜索當前光標下單詞對應的函數。
注意:快捷鍵皆可在.vimrc文件中設置。