安裝gvim、 ctags、tlist:
-----------------------------------------
(1) 下載gvim72.exe並安裝
(2) 下載ctags57w32.zip (ctags)
解壓後將ctags.exe放置到C:\windows\system32\
"開始" --> "運行" --> "cmd"
C:\Documents and Settings\Administrator>cd (進入源碼所在目錄)
D:\soft\linux-2.6.26\linux-2.6.26>ctags -R * (產生tags檔案)
(3) 下載taglist_45.zip (tlist)
解壓後將taglist_45\plugin\taglist.vim放置到C:\Program Files\Vim\vim71\plugin
將taglist_45\doc\taglist.txt放置到C:\Program Files\Vim\vim71\doc
編輯D:\Program Files\Vim\_vimrc
-----------------------------------------
set tags=D:\soft\linux-2.6.26\linux-2.6.26\tags
" TAB距離 (vim配置; vim技巧)
set tabstop=4 "
儲存一個tab是4個字元
set softtabstop=4 "
按一次tab前進4個字元
set shiftwidth=4 "
shiftwidth寫代碼時用到,縮排為4字元
set cindent
set nobackup " 讓VIM不產生備份檔案(~檔案)
" 開啟檔案時游標自動到上次退出該檔案時的游標所在位置
autocmd BufReadPost * if line("'\"") && line("'\"") <= line("$") | exe "normal`\"" | endif
if has("win32")
set guifont=Nimbus_Mono_l:h15:cANSI
"set guifontwide=楷體_GB2312:h10
"set guifontwide=YaHei Consolas Hybrid:h10
au GUIEnter * simalt ~x " 視窗最大化
endif
colorscheme koehler " 顏色類型
set pastetoggle=<F11> " pastetoggle(粘貼模式切換)可以避免自動縮排
" 的帶來的格式影響;每次按下<F11>鍵可以開啟
" /關閉自動縮排功
set expandtab " 將tab鍵轉換為空白格
程式碼摺疊功能
-----------------------------------------------
set foldmethod=syntax " 用文法高亮來定義摺疊
set foldmethod=indent " 更多的縮排表示更進階別的摺疊(這個似乎效果好一些)
zo 開啟摺疊,也可以用方向鍵(左右鍵)開啟摺疊
zc 關閉摺疊(只要在被摺疊的塊中的任一個語句就行)
zC 對所在範圍內所有嵌套的摺疊點進行摺疊
zO 對所在範圍內所有嵌套的摺疊點展開
當使用marker方式時,需要用標計來標識代碼的摺疊,系統預設是{{{和}}},最好不要改動之。可以使用下面的命令來建立和刪除摺疊:
zf 建立摺疊,比如在marker方式下:
zf56G,建立從當前行起到56行的程式碼摺疊功能;
10zf或10zf+或zf10↓,建立從當前行起到後10行的程式碼摺疊功能。
10zf-或zf10↑,建立從當前行起到之前10行的程式碼摺疊功能。
在括弧處zf%,建立從當前行起到對應的匹配的括弧上去((),{},[],<>等)。
zd 刪除(delete)在游標下的摺疊。僅當'foldmethod'設為"manual"或"marker"時有效。
: set foldmethod (查看當前foldmethod設定,vim預設設定為manual)。
zD 迴圈刪除(Delete)游標下的摺疊,即嵌套刪除摺疊。
僅當'foldmethod'設為"manual"或"marker"時有效。
zE 除去(Eliminate)視窗裡"所有"的摺疊。
僅當'foldmethod'設為"manual"或"marker"時有效。
切換視窗
-----------------------------------------------
用<C-W><C-W>切換當前視窗
當同時開啟幾個檔案時,按<C-W>_使當前視窗最大化
<C-W> = ctrl+w
[+I顯示檔案中包含游標下<word>的所有行。我常用來瀏覽某個id在程式中的引用情況。[+I (大寫I)
dfx
表示刪除到下一個出現x的地方,x可以使任一字元。
%
--------------------------------
%用來匹配塊
如果你的游標在類似([{}])或者#ifdef #else #endif上,輸入%將把游標跳轉到相應的匹配符號上去。
%還可以用來指定命令範圍,如果你想把一個
{
...
}
的塊全部刪除。
可以先把游標移到{再敲d%
如果你想把一個塊(包括{})全部往裡縮排一個tab
可以把游標移到{敲>%
可以把游標移到{敲=%就是縮排一個塊
buffer切換
--------------------------------
map <Left> :bp<CR>
map <Right> :bn<CR>
map <F4> :bd<CR>
就可以用左右方向健來切換buffer(一個編輯檔案切換到下一個編輯檔案);
F4關閉buffer(關閉當前編輯檔案)。
set hidden " 允許在有未儲存的修改時切換緩衝區
注: 模式比對中的斷行符號換行 \r