一、vim的基本配置
1、配置文件的位置
在目錄 /etc/ 下面,有個名為vimrc的文件,這是系統中公共的vim配置文件,對所有用戶都有效。而在每個用戶的主目錄($HOME)下,都可以自己建立私有的配置文件(僅對這個用戶有效),命名為:“.vimrc”。例如,/root目錄下,通常已經存在一個.vimrc文件。我就是在自己的$HOME目錄下新建了了.vimrc文件來配置的。
2、基本設置
1) 打開.vimrc,添加以下語句來使得語法高亮顯示:
syntax on
2) 如果此時語法還是沒有高亮顯示,那么在/etc目錄下的profile文件中添加以下語句:
export TERM=xterm-color
3、設置C/C++自動縮進
1)設置制表符寬度:
set tabstop=8
set softtabstop=8
2)設置縮進的空格數為8
set shiftwidth=8
另外,“set expandtab”選項會將TAB展開(被替換)為對應個數的空格,我一般不推薦設置這個選項。
3)設置自動縮進:即每行的縮進值與上一行相等;使用 noautoindent 取消設置:
set autoindent
4)設置使用 C/C++ 語言的自動縮進方式:
set cindent
5)設置C/C++語言的具體縮進方式(如下設置,僅作參考):
set cinoptions={0,1s,t0,n-2,p2s,(03s,=.5s,>1s,=1s,:1s
6)如果想在左側顯示文本的行號,可以用以下語句:
set nu
7)自動縮進兩個選項”set autoindent” 與 “set cindent”的區別
插入一個新行時,autoindent 會自動地將當前行的縮進拷貝到新行,也就是“自動對齊”,當然了,如果你在新行沒有輸入任何字符,那么這個縮進將自動刪除。
cindent 就不同了,它會按照 C 語言的語法,自動地調整縮進的長度,比如,當你輸入了半條語句然后回車時,縮進會自動增加一個 TABSTOP 值,當你鍵入了一個右花括號時,會自動減少一個 TABSTOP 值。
二、vim插件
基於vim編輯器有很多代碼補全的插件,常用的例如OmniCppComplete、Autocomplpop,code_complete,能夠根據代碼的上下文提供自動補全的功能。
三、ctags
1、ctags是什么
ctags用來掃描指定的源文件,找出其中所包含的語法元素,並將找到的相關內容記錄下來,生成ctags文件,供其他插件定位語法元素。
2、怎么生成ctags
例如命令:ctags -f systags -R --languages=c,c++ --c++-kinds=+px /usr/include /usr/local/include
-f表示生成的tag文件為systags
-R表示遞歸掃描目錄及其子目錄
--languages表示掃描c或者c++文件
/usr/include /usr/local/include表示掃描系統頭文件目錄
3、設置ctags
(1)若tag文件在當前目錄,打開vim編輯器,在vim命令行中輸入:set tags+=./systags,若要引用多個不同目錄的tags文件,可以用逗號隔開。
(2)設置vimrc,在etc/vim/vimrc中加入一行:set tags+=./systags,就不用每次手動設置。
4、使用ctags
(1)ctrl+]和ctrl+t命令:將光標移動到需要跳轉的函數上,按ctrl+]和ctrl+t可以跳轉和回溯。
(2)在vim命令行上輸入:tag/ta name,可以跳轉到對應的函數或者變量
(3)輸入命令:tags,可以查看已經到過哪tag
(4)當有很多同名tag的時候,可以通過命令:tselect tagname列出所有的tag,通過命令:tfirst、tprevious、tnext、tlast選擇tag