搭建vimIDE(ctags+cscope+vundle)


 

1、安裝vim

apt-get install vim   # ubuntu pacman -S vim # archlinux yum install vim # centos

2、sudo yum install ctags

     使用命令 ctags -R * 遞歸生成標簽文件。(必須在你的項目目錄中生成)

3、sudo yum install cscope;

     cscope -Rbkq  (根目錄生成)然后vim里面加入:cs add cscope.out

     -R: 在生成索引文件時,搜索子目錄樹中的代碼
     -b: 只生成索引文件,不進入 cscope 的界面
     -k: 在生成索引文件時,不搜索 /usr/include 目錄
     -q: 生成 cscope.in.out 和 cscope.po.out 文件,加快 cscope 的索引速度

進行以上步驟之外你的vim就可以實現基本的函數跳轉查詢了關於具體的命令請自行百度,一下將安裝Vundle用於插件管理。

Vundle是基於Git的vim插件管理工具,是目前最推薦的工具。

1、安裝git

     sudo yum install git

2、安裝vundle(這樣你的Vundle就安裝成功了)

  git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vim

3、然后在你的.vimrc里面配置一下信息(關於.vimrc一般在你的根目錄或者自己在根目錄創建一個)

 set nocompatible " required  filetype off " required  set rtp+=~/.vim/bundle/Vundle.vim  call vundle#begin() Plugin 'gmarik/Vundle.vim'  call vundle#end() " required  filetype plugin indent on " required

4、接下來我們以安裝項目樹來看看怎么使用Vundle

    首先在.vimrc里面加入

  Plugin 'scrooloose/nerdtree'  " 這個插件可以顯示文件的Git增刪狀態 Plugin 'Xuyuanp/nerdtree-git-plugin'

然后在vim中運行:PluginInstall即可(或者在Bash中運行vim +PluginInstall)。以后只需要在添加一行Plugin 'xxx'並運行:PluginInstall即可自動安裝插件。

最后在你的.vimrc里面可以加入下的配置就很完美了
 " Ctrl+N 打開/關閉 map <C-n> :NERDTreeToggle<CR>  " 當不帶參數打開Vim時自動加載項目樹 autocmd StdinReadPre * let s:std_in=1 autocmd VimEnter * if argc() == 0 && !exists("s:std_in") | NERDTree | endif  " 當所有文件關閉時關閉項目樹窗格 autocmd bufenter * if (winnr("$") == 1 && exists("b:NERDTreeType") && b:NERDTreeType == "primary") | q | endif  " 不顯示這些文件  let NERDTreeIgnore=['\.pyc$', '\~$', 'node_modules'] "ignore files in NERDTree  " 不顯示項目樹上額外的信息,例如幫助、提示什么的  let NERDTreeMinimalUI=1

在你的項目里面打開vim吧將會呈現以下的場景



5、其他插件利用Vunle也可以這樣哦以后只要你換電腦copy你的.vimrc過去執行
:PluginInstall即可

是不是很nice

愉快的使用吧,關於高級的可以看這個哥們的鏈接有很多的干活:http://easwy.com/blog/archives/advanced-vim-skills-cscope/

彩蛋幾款好用的插件

折疊

有些人特喜歡代碼折疊,我就在這里列一下如何優雅地折疊代碼。首先在.vimrc中添加配置:

set foldmethod=indent au BufWinLeave * silent mkview " 保存文件的折疊狀態 au BufRead * silent loadview " 恢復文件的折疊狀態 nnoremap <space> za " 用空格來切換折疊狀態 

開啟以indent來折疊代碼后,打開一個文件會發現有縮進的內容全被折疊起來了。所以我們引入一個SimpleFold來更智能地折疊:

Plugin 'tmhedberg/SimpylFold' 

不要忘了運行:PluginInstall

 

自動補全

自動補全當然是用YCM

Plugin 'Valloric/YouCompleteMe' 

然后進行配置就好了,YCM是通過Vim的omnifunc機制來自動補全的,所以你需要為你想要支持的語言安裝一個提供omnifunc接口的Vim插件。

全局搜索

安裝ctrlp

Plugin 'kien/ctrlp.vim' 

然后按下C-P,便可以全局搜索啦。使用C-jC-k上下翻頁,<Enter>打開選中文件。同樣,給出一些有用的配置:

let g:ctrlp_working_path_mode = 'ra' set wildignore+=*/tmp/*,*/node_modules/*,*.so,*.swp,*.zip let g:ctrlp_custom_ignore = {'dir': '\v[\/]\.(git|hg|svn)$', 'file': '\v\.(exe|so|dll)$'} 

剪切板

剪切板想必是所有Vim用戶的痛。但是!在Mac下只需要設置:

set clipboard=unnamed 

你在Vim中copy的所有內容都會上系統剪切板。在Vim中拷貝內容時,可以切換到拷貝模式防止自動縮進和補全。 我的快捷鍵是<F9>

set pastetoggle=<F9> 

狀態欄

有沒有想要炫酷的狀態欄安裝一個powerline

status-bar

Plugin 'Lokaltog/powerline', {'rtp': 'powerline/bindings/vim/'} 

此外,為了正確顯示Powerline的圖標,還需要一些設置:

set guifont=Inconsolata\ for\ Powerline:h15 let g:Powerline_symbols = 'fancy' set encoding=utf-8 set t_Co=256 set fillchars+=stl:\ ,stlnc:\ set term=xterm-256color set termencoding=utf-8

此教程完結END


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM