vim+vundle配置

     Linux環境下寫代碼雖然沒有IDE,但經過給vim配置幾個插件也足夠好用。通常經常使用的插件主要包括幾類,查找文件,查找符號的定義或者聲明(函數,變量等)以及自動補全功能。通常流程都是下載須要的工具,而後在vimrc文件中配置加載工具選項,一直這麼用也沒以爲啥。但最近發現經過vundle工具能夠很方便的管理多個插件,很是方便,介紹給你們。python

1.安裝vimgit

./configure --prefix=/usr \
--with-features=huge \
--enable-pythoninterp \
--enable-rubyinterp --enable-luainterp \
--enable-multibyte --enable-sniff --enable-fontset \
--with-features=huge \
--enable-pythoninterp \
--enable-rubyinterp \
--enable-luainterp \
--enable-multibyte \
--enable-sniff \
--enable-cscope

make
sudo make install

2.安裝配置vundle
(1).vundle代碼所有託管在git上,首先下載源碼github

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

(2).配置.vimrc文件shell

set rtp+=~/.vim/bundle/vundle/
call vundle#rc()
Bundle 'gmarik/vundle'
Bundle 'Valloric/YouCompleteMe'
Bundle 'ctrlpvim/ctrlp.vim'

每一個Bundle聲明一個要用Vundle安裝的插件,上面的內容配置了插件YouCompleteMe和ctrlp.vim。
(3).使用vundle
經過命令:BundleList能夠查看咱們配置的插件,經過命令:BundleInstall,能夠安裝全部BundleList顯示的插件,這個過程是所有由vundle代勞。若是須要刪除插件,先在~/.vimrc中移除插件聲明,而後執行命令:BundleClean便可。vundle管理插件的命令以下:
:BundleList -列舉出列表中(.vimrc中)配置的全部插件
:BundleInstall -安裝列表中所有插件
:BundleInstall! -更新列表中所有插件
:BundleSearch foo -查找foo插件
:BundleClean -清除列表中沒有的插件
vim

3.配置cscope/ctags/taglist
(1).安裝配置Ctags
下載源碼安裝,在源碼目錄經過命令ctags -R * 生成索引文件,若是隻針對部分文件類型,能夠先經過find命令輸出文件列表,而後經過ctags -L參數來生成標籤,好比:ruby

find . -name "*.h" -o -name "*.c" -o -name "*.cc" -o -name "*.ic" > tags.files
ctags -L tags.files

(2).安裝配置Taglist
Taglist依賴於ctags,實質只包含幾個配置文件,將taglist.txt和taglist.vim拷貝到指定目錄bash

$cd taglist/
$cp doc/taglist.txt ~/.vim/doc
$cp plugin/taglist.vim ~/.vim/plugin/ 

(3).關聯ctags和taglist
在.vimrc中加入以下代碼:函數

let Tlist_Ctags_Cmd="/usr/bin/ctags"

vim中執行:Tlist能夠在tag列表則表示安裝ok了。工具

(4).安裝配置cscopelua

find . -name "*.h" -o -name "*.c" -o -name "*.cc" -o -name "*.ic" > cscope.files
cscope -bkq -i cscope.files

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

(5).經常使用快捷鍵

cs add path/cscope.out (加載cscope索引文件)
cs find c|d|e|f|g|i|s|t name

s: 查找C語言符號,即查找函數名、宏、枚舉值等出現的地方
g: 查找函數、宏、枚舉等定義的位置,相似ctags所提供的功能
t: 查找指定的字符串
e: 查找egrep模式,至關於egrep功能,但查找速度快多了
d: 查找本函數調用的函數
c: 查找調用本函數的函數
f: 查找並打開文件,相似vim的find功能
i: 查找包含本文件的文件

(6).設置快捷鍵映射

nmap ffs :cs find s <C-R>=expand("<cword>")<CR><CR>
nmap ffg :cs find g <C-R>=expand("<cword>")<CR><CR>
nmap fft :cs find t <C-R>=expand("<cword>")<CR><CR>
nmap ffe :cs find e <C-R>=expand("<cword>")<CR><CR>

4.vim經常使用的快捷鍵
(1)跳轉
% 跳轉到相配對的括號
$ 跳轉至行尾
0 數字0,跳轉至行首
[] 跳往上一個函數的結束大括號 (在函數中間時,調到函數頭)
][ 跳往下一個函數的結束大括號 (在函數中間時,調到函數尾)
ctrl+b 向後翻一頁
ctrl+f 向前翻一頁
gg 跳轉到文件頭
GG 跳轉到文件尾

(2).編輯
set cursorline (顯示橫線,方便看清楚在哪一行)
set shiftwidth=2 (塊操做,選中塊,按下>表示向右移動2列,按下<表示向左移動2列)
Ndd (N爲數字,表示刪除N行,相似剪切功能)
Nyy (N爲數字,表示複製N行)

(3).多標籤
:vsplit (垂直切分窗口,能夠參考代碼)
ctrl+w (窗口切換)

(4).經常使用快捷鍵
Ngt (切換到第幾個標籤)
:tabc (關閉當前的tab)
:tabo (關閉全部其餘的tab)
:tablast (最後一個tab)
:tabfirst (第一個tab)
:tabnext (下一個tab)
:tabpre (上一個tab)
gt,gT (在tab之間切換)

(5).快捷鍵映射

nmap ff1 1gt
nmap ff2 2gt
nmap ff3 3gt
nmap ff4 4gt
nmap ff5 5gt
nmap ff6 6gt
nmap ff7 7gt
nmap ff8 8gt
nmap ff9 9gt
nmap ffc :tabc<CR>
nmap ffo :tabo<CR>
nmap fff :tabfirst<CR>
nmap ffl :tablast<CR>
nmap ffn :tabnext<CR>
nmap ffp :tabpre<CR>

(6).其它
:so ~/.vimrc (動態加載vimrc修改)
:shell (vim與shell切換)
:exit (返回vim)

相關文章
相關標籤/搜索