我的vim(配置+插件)

======================================================
下載安裝
配置文件與插件目錄已打包上傳,下載地址
http://download.csdn.net/detail/zlzlei/4570644

http://f.xunlei.com/9343823/file/3d9ccc16-294d-42f7-a7df-70d6692670f9
本文章講解我自己的vim配置與使用技巧,vim的使用方法見以下地址:
http://blog.csdn.net/zlzlei/article/details/7708602
包括taglist插件與omnicppcomplete以及相關的配置
下載以後直接解壓到用戶home目錄(~目錄)即可,裏面有.vimrc配置文件與.vim插件目錄。

======================================================
該套配置與插件使用技巧

配置是我在網上找的別人的然後裝上插件按照我自己的習慣改了改,下面我說一下支持的操作與使用技巧:

1. 設置工程目錄。
ctags是必須的,我需要支持c++文件,所以命令長些,進入你的工程目錄,運行一下命令生成tag文件:
            ctags -R --c++-kinds=+p --fields=+iaS --extra=+q -f ~/tags `pwd`
                該命令將當前目錄及子目錄下的源碼生成tag文件,存放爲~/tags
                選項c++-kinds 用於指定C++語言的 tags記錄類型, --c-kinds用於指定c語言的, 通用格式是 --{language}-kinds
由於一般情況下我們的代碼工程目錄都是分級的,不可能所有代碼都放在一個目錄下,並且經常要在不同目錄下運行vim,所以直接使用ctags在實際開發中可能很難滿足我們的要求,我也一直在找解決方法,未果,後來自己設計了一種方法,具體的實現等都已經配置好了,我們需要:
            1. .vim/tags/ctags-project是我自己寫的一個腳本,你可以把它拷貝到/usr/bin或者/usr/local/bin,此時就可以在任意目錄運行ctags-project命令了
            2. 在開發工程的根目錄運行ctags-project命令,此時即會生成整個工程的tag文件
            3. 在此以後,在任何目錄運行vim都會使用運行過ctags-project命令的那個工程目錄的tag文件
            4. 在此之後,在任何目錄打開的vim中按F12都會重新生成運行過ctags-project命令的那個工程目錄的tag文件
這樣的缺點就是一個系統中同時只能編輯一個項目,如果要更換項目,則就要在新項目的目錄下重新運行ctags-project命令

2. Taglist
Taglist插件也已經放進去了,直接運行:Tlist即可顯示文件函數列表。
快捷鍵Ctrl+w+w可以在文件函數列表與編輯窗口間切換光標。
下面是在文件函數列表窗口的快捷鍵:
<CR> 跳到光標下tag所定義的位置,用鼠標雙擊此tag功能也一樣
o 在一個新打開的窗口中顯示光標下tag
<Space> 顯示光標下tag的原型定義
u 更新taglist窗口中的tag
s 更改排序方式,在按名字排序和按出現順序排序間切換
x taglist窗口放大和縮小,方便查看較長的tag
+ 打開一個摺疊,同zo
- 將tag摺疊起來,同zc
* 打開所有的摺疊,同zR
= 將所有tag摺疊起來,同zM
[[ 跳到前一個文件
]] 跳到後一個文件
q 關閉taglist窗口
<F1> 顯示幫助

3. 自動補全
安裝了omnicppcomplete插件,支持結構體或者類在輸入.或->時自動彈出成員列表。
快捷鍵Ctrl+n    自動補全寫了一半的變量或函數名,列表彈出後可以使列表選項下移
快捷鍵Ctrl+p    彈出類或結構體的成員列表,列表彈出後可以使列表選項上移

4. 自動跳轉
快捷鍵 Ctrl+]  跳轉到函數或變量定義處。
若跳轉時發現有多個可跳轉處,使用以下命令:
:ts    列出所有可跳轉處 (ts 助記字:tags list, “:”開頭的命令爲VI中:cprevious命令行模式命令)
:tp    跳轉到前一個  (tp 助記字:tags preview)
:tn    跳轉到下一個 (tn 助記字:tags next)
快捷鍵 Ctrl+t  從函數定義處跳回到函數調用處。
快捷鍵 Ctrl+o 跳轉回前一處。
快捷鍵 Ctrl+i  跳轉到下一處。
快捷鍵 [+(Shift+i)  跳轉到變量定義處(個人喜好,備用)。

快捷鍵 Ctrl+\ 跳轉到函數或變量調用處。
該跳轉與之前不同,使用了quickfix窗口,具體操作見第9節

5. 使用linux系統終端或putty等支持鼠標操作的客戶端,可以直接用鼠標進行:
頁面滾動;
文字選取,文字選取與按v鍵進視圖模式選取文字方式相同,複製等也需要使用y,若要使用終端自帶的文字選取功能(選中右鍵菜單功能)需要按住shift再用鼠標選擇;
Taglist中的文件摺疊展開,函數選擇跳轉;
Ctrl+單擊變量或函數直接跳轉到定義處;

6. c.vim插件自動添加代碼與註釋:
在~/.vim/c-support/templates/Templates可以設置版權信息,如作者、信箱、版權歸屬等,新建.c或.cpp文件是可以看到,並且列出了使用模板文件位置,可以自己編輯
在普通模式下輸入以下命令:
\if 插入一般函數
\im 插入主函數
\cfu 插入函數頭,即函數說明
\cfr 插入一個frame comment,可以用來寫變量說明
\p< 插入一個include , 並且把光標放在<>中
\rc 保存並編譯
\rr 運行
\nr 可以在~/.vim/c-support/codesnippets中編寫一些預編譯代碼或者代碼塊,通過此命令使用
更多查看以下資料:
http://blog.csdn.net/zlzlei/article/details/7860494
http://blog.csdn.net/guolb57/article/details/7013076
我自己還改了c.vim裏面的點東西,把中文時間改成了英文

7. closetag插件:
closetag插件用的不多,也不知道有多少功能,現在也就知道:
    ctrl+shift+- 自動補全xml與html的結尾tag

8. winmanager插件:
winmanager插件可以顯示類似其他開發環境的文件選擇窗口與函數列表窗口:
    普通模式下按m    顯示或關閉winmanager窗口
    普通模式下按f       跳轉到文件列表窗口
    普通模式下按t       跳轉到taglist窗口

9. quickfix窗口:
quickfix窗口用於多標籤跳轉,多配合cscop及make使用,有以下命令:
:cw    顯示quickfix窗口,供列表選擇。在該窗口中光標處敲回車進行跳轉
:ccl   關閉quickfix窗口,跳轉後,quickfix窗口不會自動關閉,只能輸入該命令手動關閉
:cn    跳轉到下一個
:cp    跳轉到上一個
:cl    列出所有標籤,但只能看,不能選擇
:cc    顯示當前標籤信息

10. Grep工程內查找:
可以使用Grep命令在工程內查找某個關鍵字所有出現的地方。
將光標移動到該關鍵字,運行:
:Grep -R
-R表示遞歸搜索全部文件,接下來出現以下提示,需要輸入搜索的目錄:
Search in files: *
修改目錄後回車確認即可。查找到的結果使用quickfix窗口顯示,該窗口操作方法見第9章。
也可以直接輸入要查找的關鍵字進行查找:
:Grep -R main *

X. 雜項:
1. 本vim插件中包含了libstdc++標準庫的tag文件,所以可以直接補全c++的std庫類或函數
2. 配置了縮進使用4空格替代tab,自己習慣
3. 快捷鍵ctrl + k彈出光標所在系統函數的man頁面

======================================================
這裏只寫了最常用的一部分,有其他技巧以後補充。

發佈了20 篇原創文章 · 獲贊 21 · 訪問量 34萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章