一直以來在Mac上找不到好的代碼閱讀工具,最近根據網上的教程,自己總結一下,做了個在Mac的類sourceinsight的vim,感覺很好用。我不喜歡那種把vim搞的很復雜的配置,所以做了個僅僅能滿足瀏覽代碼的vim。
首先我們需要安裝homebrew,在終端輸入下面命令安裝。
ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew/go/install)"
安裝完成后,運行下面代碼安裝vim和mac vim
brew install vim brew install macvim brew install ctags brew install cscope
現在已經安裝了必備的軟件了,但是Mac下Xcode也有一個程序叫ctags,而且mac也自帶vim,所以我們需要修改系統變量。
sudo vim /etc/paths
系統默認將/usr/bin放在第一行,只需要將/usr/local/bin放在第一行就可以了。
/usr/local/bin /usr/bin /bin /usr/sbin /sbin
經過這樣的配置,就可以使用最新版的vim了。
接下來在代碼的根目錄運行
ctags -R
cscope -Rbq
在vim下,我們可以使用自動安裝插件的工具vundle,執行下面的代碼安裝vundle
sudo git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
之后編輯vimrc文件。
sudo vim ~/.vimrc
粘貼這段內容到vim中
"設置vundle set nocompatible " be iMproved filetype off " required! set rtp+=~/.vim/bundle/vundle/ call vundle#rc() Bundle 'scrooloose/nerdtree' "文件瀏覽 Bundle 'majutsushi/tagbar' "代碼符號 Bundle 'wesleyche/SrcExpl' "類似sourceInsight的代碼預覽窗口 filetype plugin indent on " required! "vundle設置完畢 syntax on let g:tagbar_ctags_bin='/usr/local/bin/ctags' let g:tagbar_left = 1 nnoremap <F3> :TagbarToggle<CR> let NERDTreeWinPos='right' nnoremap <F2> :NERDTreeToggle<CR> nmap <F4> :SrcExplToggle<CR> let g:Srcexpl_winHeight = 8 " // Set 100 ms for refreshing the Source Explorer let g:SrcExpl_refreshTime = 100 " // Set "Enter" key to jump into the exact definition context let g:SrcExpl_jumpKey = "<ENTER>" " // Set "Space" key for back from the definition context let g:SrcExpl_gobackKey = "<SPACE>" let g:SrcExpl_pluginList = [ \ "__Tag_List__", \ "_NERD_tree_" \ ] set tags=tags;/ "搜索上一級建立的tag nmap <C-H> <C-W>h "control+h進入左邊的窗口 nmap <C-J> <C-W>j "control+j進入下邊的窗口 nmap <C-K> <C-W>k "control+k進入上邊的窗口 nmap <C-L> <C-W>l "control+l進入右邊的窗口
保存后,重新啟動vim(注意使用sudo),按ESC后輸入:BundleInstall后回車,系統會自動安裝這些插件。安裝完成后重新啟動vim,這時按下F2,F3,F4,就看到sourceinsight的那些功能和界面了。強烈建議使用MacVim看代碼。