接觸vim也已經有一年多了,期間也用過一段時間的SourceInsight,SourceInsight是Windows下一款不錯的查看代碼的軟件。利用它可以迅速的了解一個大型程序的結構。后來在Linux下進行了一段時間的程序開發,就回到vim上了,經過一段時間的接觸,發現vim越來越好用,后來在Windows上也就基本上全用gvim了。
在這篇文章里我主要介紹一些我自己認為比較有用的一些快捷鍵和插件的配置,不介紹vim的基本操作。還有希望在看這篇日志之前最好先看吳垠大牛的手把手教你把Vim改裝成一個IDE編程環境的文章,里面介紹的很是詳細,我在這里只是補充一些。
首先介紹gvim的一些常用的目錄比如
Linux下:
/etc/vim :gvim的配置文件gvimrc就在這個目錄
/usr/share/vim: 默認安裝,gvim的安裝目錄。改目錄下面的一些重要的目錄:
/usr/share/vim/plugin: 插件所放的目錄
/usr/share/vim/doc :幫助文件所放的目錄
/usr/share/vim/syntax :一些與語法相關的配置文件的目錄。例如設置不同語言的高亮方式
/usr/share/vim/colors :主題所放的目錄
在Windows下gvim的安裝目錄也可以找到相應的文件和文件夾。Windows下的配置文件是安裝目錄下的_vimrc文件。
一、語法高亮
首先在vim的配置文件里增加以下兩句話
配色方案的可以進行如下設置
我是比較喜歡desert 這個配色方案的,具體里面的顏色也可以自己修改。到colors文件夾下找到相應的配色方案的配置文件,然后。。。
hi Comment guifg=Green
這是修改注釋的顏色,還有相應其他的。你如果看那個顏色不爽,你就自己把它改成順眼的顏色就行。
如果要函數和運算符高亮,可以看吳垠大牛的博客。不過需要注意的是我在將相應的配置加入到c.vim中后,發現//注釋居然不能顏色高亮了。猜想可能是將//當成兩個除號給高亮了,於是將這一段配置文件移到c.vim的文件首,注釋也可以高亮了。
自己定義的關鍵字若是想高亮,則在配置文件里面加入如下語句即可。
syn keyword cType My_Type_1 My_Type_2 My_Type_3
二、在程序中跳轉Ctags 的使用
在使用VS的vc助手之后,感覺程序的跳轉非常的好用。在gvim中是否也有類似的功能呢?答案是肯定的。首先到這個http://ctags.sourceforge.net 去下載一個類似ctags-5.6.tar.gz的文件,然后在Linux下解壓、安裝。在Windows應該是有可執行文件的。在Windows下為了方便使用。安裝完成之后,到你的工程的目錄下運行ctags -R。然后可以發現生成了一個tags文件。這個文件主要記錄文件中一些函數的位置關系,方便跳轉。生成tags文件之后,在程序中的某一函數的使用出按“Ctrl ]”或“Ctrl + 左鍵單擊”就可以跳轉到函數的定義處。
在Windows下,可以將可執行文件(ctags.exe)拷貝到system32目錄下。這樣可以在配置文件添加一個映射快捷鍵,如下。這樣修改完程序之后,生成tags文件就比較方便了。
如果你使用了其他的程序,如opencv等。想要跳轉到Opencv,應該怎么辦呢?很簡單,只需要在Opencv的目錄下利用ctags生成一個tags文件,然后在配置文件里面添加一條如下的語句。
三、快速注釋 NERD_commenter
在VS中可以選中一段程序進行批量注釋,這個功能在gvim里面也是有的,而且還更加好用。
下載地址:http://www.vim.org/scripts/script.php?script_id=1218
將下載下來的NERD_commenter.vim拷貝到plugin目錄下,txt文件拷貝到doc目錄下。然后在配置文件中添加如下語句,將注釋和取消注釋分別映射到<F9>和<F10>,當然你也可以改為其他的鍵。
四、C++的編譯和運行,折疊自動保存
對於只有一個源文件的程序利用下面的程序可以方便的編譯和運行程序。
當有多個文件時,其實只要你編寫好makefile文件,將上面的第二條執行的命令改成make即可。
gvim還有vs類似的代碼折疊功能,選中一塊代碼,然后輸入zf即可折疊這一段代碼。效果如下圖。
再在配置文件中添加如下的語句,就可以利用空格鍵來折疊和取消折疊代碼了。
但是這樣在關閉gvim下次在打開的時候,這些折疊信息就沒有了。想要保存這些折疊信息,還需要在配置文件里面添加如下的語句。
五、自動添加注釋DoxygenToolkit
在對程序寫注釋的時候,特別是對函數寫注釋的時候。其實很多的事情是重復的。如在注釋里面寫函數名,參數名等。要是能夠自動生成的話該有多方便啊。這對於gvim來說也不是難事。只需要安裝DoxygenToolkit插件。
下載地址:http://www.vim.org/scripts/script.php?script_id=987
將下載下來的DoxygenToolkit1.vim拷貝到plugin文件夾下。在配置文件中添加如下的語句即可。
這樣配置之后,在函數名的一行按fg鍵即可自動生成如下的注釋。
在光標移動到源文件的開始出,然后在命令行下輸入 :DoxAuthor
六、自動補全 omnicppcomplete
vs下的自動補全功能可以幫助我們減少敲擊鍵盤的次數,在gvim下也有類似的插件,不過好像是沒有VS的好用,不過功能還是可以接受的。
下載地址:http://www.vim.org/scripts/script.php?script_id=1520
下載下來后將文件拷貝到對應的文件夾,然后在配置文件中添加如下的配置
然后在寫代碼需要自動補全的時候,按下tab鍵就可以了。效果如下:
七、自動對齊 Tabular
下載地址:https://github.com/godlygeek/tabular
在我們編寫程序的時候,很多時候會遇到如下的等號對齊等問題。
這樣的程序看上去十分的不美觀。如果能夠把等號對齊的話看上去效果就好很多。可是要自己一個一個的去對齊又實在是太費時間了。gvim的Tabular插件可以很方便的實現這個功能。將下載下來的文件和文件夾拷貝到相應的目錄下,然后將光標移動到這幾個等號的第一行。然后在命令行下輸入:
Tab /=
即可將等號對齊。
當然對齊的也可以不止是等號,還可以是其他的符號或字母。
還有很多好用的插件,像TagList,WinManager等,吳垠大牛在他的博客里面已經介紹得非常的詳細了。我這里就不再介紹了。以后遇到好用的插件我還會跟大家分享。今天就先到這里了,洗洗睡了~ 最后一部分的圖顯示有時候會出問題,我也不知道怎么回事,請大家見諒~~