摺疊
set foldnestmax=20
set nofoldenable
set foldlevel=10
za:開啟或關閉
zM:全部關閉
zR:全部打開
修改顏色:
修改顏色:
highlight Folded ctermfg=grey ctermbg=blue
不必多加介紹的重要外掛。ctags
為了使用omnicomplete,建議使用下面的參數建立tag:
ctags -R --c++-kinds=+pl --c-kinds=+pl --fields=+iaS --extra=+q
在vimrc中加入下列命令,自動尋找tag檔案
如果在目前資料夾下找不到,會往上一層找:
let i = 1
while i < 20
if filereadable("tags")
let tagsdb = getcwd() . "/tags"
"echo db
let $TAGS_DB = tagsdb
set tags=$TAGS_DB
let i = 20
else
cd ..
let i += 1
endif
endwhile
cscope
建立cscope檔案:
cscope -Rbq
在vimrc加入以下設定
cscope -Rbq
在vimrc加入以下設定
set nocsverb
set cscopetag
常用按鍵:
<c-\><s>
<c-]>
<c-\><f>
指令:
:cs f <type> <key word>
與ctags相同,可以使用下面方式自動尋找cscope檔:
let i = 1
while i < 20
if filereadable("cscope.out")
let db = getcwd() . "/cscope.out"
"echo db
let $CSCOPE_DB = db
cs add $CSCOPE_DB
let i = 20
else
cd ..
let i += 1
endif
endwhile
taglist
建議在vimrc加入選項:
let Tlist_Auto_Open = 1:開啟vim時自動開啟taglist
let Tlist_Exit_OnlyWindow = 1:當只剩下taglist windows,自動離開vim
let Tlist_Show_One_File=1:只顯示當前檔案中的tag
omnicomplete
VIM自己有許多自動完成的方法,Omni是其中一種
用法為<c-x><c-o>
常用自動完成:
<c-p>:往前尋找相符的symbol
<c-n>:往後尋找相符的symbol
<c-x><c-l>:往前尋找相符的一整行
<c-x><c-k>:尋找字典檔中的symbol
set dictionary=path/to/dictionary/file:設定字典檔位置
改變顏色:
highlight Pmenu ctermfg=White ctermbg=DarkBlue
highlight PmenuSel ctermfg=Black ctermbg=Gray
highlight PmenuSbar ctermfg=Red ctermbg=Black
highlight PmenuThumb ctermfg=Yellow ctermbg=DarkBlue
當移動游標或離開輸入模式時,關閉選單:
autocmd CursorMovedI * if pumvisible() == 0|pclose|endif
autocmd InsertLeave * if pumvisible() == 0|pclose|endif
vcscommand
整合vim與版本控制系統的外掛。支援svn、git等等。
常用指令:
VCSBlame
VCSDiff [rXXXX[:rYYYY]]
VCSVimDiff
VCSInfo
VCSLog
VCSReview [rXXXX]
顏色調整:
highlight DiffAdd ctermfg=Black ctermbg=Green
highlight DiffDeleted ctermfg=Black ctermbg=Red
highlight DiffChange ctermfg=Black ctermbg=Grey
highlight DiffText ctermfg=Black ctermbg=Yellow
a
http://www.vim.org/scripts/script.php?script_id=31在source file與header file之間快速切換。
常用指令:
:A
:AV
:AS