
工欲善其事必先利其器,在我早年工作中,第一次接觸VIM,就被這種靈活的操作吸引,在檢視,梳理代碼,定位問題的過程中,Vim的高效讓我歎為觀止。當然如果你是為了炫技,Vim Ide也是妥妥的滿足你。
vim配置成ide網絡上的教程很多,但是很多配置了半天,還是不得其所,很多快捷鍵也不知道怎麼用。現在按照這個教程,快速教大家如何配置一個強大的VIM IDE環境。希望大家在配置好VIM環境後,也能體會到高效的工具使用,給自己的工作效率帶來巨大的提升。
1.安裝ctag + cscope
sudo apt-get install cscope exuberant-ctags
2. Vim配置
首先介紹一個非常好用的vim插件網站vimawesome,你能想到的,需要的vim插件,都可以在這裡找到。下面安裝的插件也全部來源于此。
1)安裝vundle
使用Vundle安裝以及管理插件。
cd ~/.vim
mkdir bundle
cd bundle
git clone https://github.com/VundleVim/Vundle.vim.git
2)安裝vim 插件
羅列我自己常用的幾個插件。
1. lookupfile 補全
2. taglist 檢視函數清單
3. suptab tab欄,多開檔案
4. mru 曆史清單
5. nerdtree 檔案夾管理器
6. colorscheme vim配色
。。。。。後續大家可以在vimawesome上找更多強大的插件,以上插件配置好後,足夠平常使用。
開始安裝插件,将如下内容粘貼到vimrc中,參考我的vimrc配置。打開vim,輸入:PluginInstall,開始依次安裝。
call vundle#begin()
Plugin 'lookupfile'
Plugin 'taglist.vim'
Plugin 'ervandew/supertab'
Plugin 'mru.vim'
Plugin 'scrooloose/nerdtree'
Plugin 'flazz/vim-colorschemes'
call vundle#end()
安裝示意圖
3)vimrc配置
vimrc需要配置各個插件的使用配置和快捷鍵配置,可以直接将我的vimrc配置,拷貝到~/.vimrc路徑,
快捷鍵的配置經常用到的兩個comman,nmap和map
舉個例子:快捷鍵打開樹形檔案管理器“,n”(逗号,n)的配置方式:
nmap<silent><leader>n:NERDTreeToggle<cr>
以此類推,大家可以将快捷鍵配置成自己習慣的方式。
4)sync工程
sync工程代碼過程類似sourceinsight的sync project,需要對自己的工程代碼建立索引tags,友善快速的檢視檔案以及函數見快速的跳轉。
建立一個檔案retag,将如下類容粘貼到retag檔案中,在自己的工程下執行retag指令後,會生成一些tags和cscope開頭的檔案,即對目前目錄進行索引的建立。
rm cscope.*
rm filenametags
rm tags
echo -e "!_TAG_FILE_SORTEDt2t/2=foldcase/" > filenametags
find . -not -regex '.*.(png|gif|a|o|la|so|class|jar|apt|patch|elf|jpg|ko|
cmd|mid|mp3|lo|pcm|lai|svn-base|keep|contrib)' -type f -printf "%ft%pt1n"
| sort -f >> filenametags
find . -regex '.*.(c|h|cpp|java|xml|inl|py)' -type f | sort -f >> cscope.files
cscope -bq
ctags -L cscope.files
5)在目前目錄下打開檔案,這時候,輸入各種快捷按鍵,就可以體驗VIM IDE的強大和高效了。
3. 介紹一下常用的操作
1. 搜尋檔案
輸入vim或者vim打開任意一個檔案,按F5,輸入檔案名Ap,即可進行子產品查詢,比對所有的檔案,快速查找檔案。
2.函數跳轉
光标落到函數名上,按enter鍵,跳入函數實作。
3.函數調用:
光标落到函數名,鍵盤輸入",cs"(指令可配置,可以參考我的vimrc配置),即可調出所有的引用處。
4.補全代碼:
輸入函數,變量等字首,按tab鍵,即可跳出補全清單,再按tab鍵可以選擇,
無需要按enter鍵 (這個方式很多人會有點不習慣,但是少按enter的确是更高效了)。
5.建立tab頁簽:
連擊輸入",ts"(逗号,t,s),可以打開一個新的tab頁簽。
",tc" 關閉目前tab頁簽。
tab鍵,落焦點到下一個tab頁簽。
6.檢視曆史清單:
",mr":打開曆史清單