在CentOS 6.2上搭建Vim開發環境

來源:互聯網
上載者:User

在CentOS 6.2上搭建vim開發環境
最後更新日期:2013-07-05

推薦閱讀:

CentOS 6.3安裝spf13-vim

Linux Vim快速鍵操作命令整理

CentOS安裝Vim所依賴包

1.首先使用Ubuntu(所在ip為192.168.16.230)翻牆登陸http://www.vim.org/,下載其上面的vim相關外掛程式到Ubuntu的下載目錄下:
cd ~/下載/
http://ctags.sourceforge.net
http://cscope.sourceforge.net/
http://www.vim.org/scripts/script.php?script_id=273
http://www.vim.org/scripts/script.php?script_id=1581
http://www.vim.org/scripts/script.php?script_id=197
http://www.vim.org/scripts/script.php?script_id=95
http://www.vim.org/scripts/script.php?script_id=159
http://www.vim.org/scripts/script.php?script_id=31
http://www.vim.org/scripts/script.php?script_id=2620
http://www.vim.org/scripts/download_script.php?src_id=9679
http://www.vim.org/scripts/script.php?script_id=42
http://www.vim.org/scripts/script.php?script_id=311
使用sftp將這些壓縮包上傳到目標伺服器CentOS 6.2上面
cd /usr/local/src
sftp root@192.168.16.237
ls
put a.vim ***
quit
退出sftp,下面開始安裝。

2.在主目錄下建立目錄,開始安裝
mkdir -p  .vim/plugin
mkdir -p .vim/doc
mkdir -p .vim/tags
mkdir -p ~/.vim/syntax


將上述檔案包轉移到~/.vim/下面,逐個安裝外掛程式:
2.1 ctags外掛程式(Exuberant Ctags)
產生tag檔案的外掛程式,從如下官網
http://ctags.sourceforge.net
下載到如下源碼包ctags-5.8.tar.gz,下面使用源碼安裝方式
tar zxvf ctags-5.8.tar.gz
cd ctags-5.8
./configure
make
make install
cd ../
發現ctags是個可執行檔,被複製到/usr/local/bin下面了。你可以使用
ctags --help
來查看該執行檔案的命令選項。

tags檔案是由ctags程式產生的一個索引檔案, ctags程式其實叫"Exuberant Ctags", 是Unix上面ctags程式的替代品, 並且比它功能強大, 是大多數Linux發行版上預設的ctags程式.

2.2 taglist外掛程式
這個是瀏覽原始碼的外掛程式,直接將壓縮包解壓即可自動安裝
unzip taglist_46.zip
會在plugin和doc中各產生一個檔案taglist.vim和taglist.txt
相應地在我的.vimrc中如下配置:
let Tlist_Show_One_File = 1    "不同時顯示多個檔案的tag,只顯示當前檔案的
let Tlist_Exit_OnlyWindow = 1  "如果taglist視窗是最後一個視窗,則退出vim
let Tlist_Use_Right_Window = 0  "在右側視窗中顯示taglist視窗 (預設是0)
注意taglist外掛程式需要tags檔案,所以它需要ctags或cscope產生的tags檔案。也就是說,這幾個外掛程式是緊密聯絡的。

2.3 Lookup外掛程式
利用插入補全方式在項目中快速尋找檔案,緩衝區,目錄的外掛程式,我們從
http://www.vim.org/scripts/scipt.php?script_id=1581
下載源碼包lookupfile-1.8.zip進行安裝
unzip lookupfile-1.8.zip
將在doc,plugin,autoload目錄下分別產生lookupfile.txt,lookupfile.vim和lookupfile.vim
注意autoload目錄是自動產生的。

Lookupfile外掛程式還需最新的genutils外掛程式支援,否則你開啟vim時會有警告:
lookupfile: You need a newer version of genutils.vim plugin
從下面的地址下載
http://www.vim.org/scripts/script.php?script_id=197
得到genutils-2.5.zip,下面直接解壓就可自動安裝好
unzip genutils-2.5.zip
發現它在autoload和plugin目錄中都放入了檔案genutils.vim

Lookupfile在尋找檔案時,需要使用tags檔案,它可以使用ctags命令產生的tag檔案,不過效率比較低,我們專門給它產生了一個包含項目中所有檔案名稱的tag檔案。下面是具體步驟:

我編寫了下面的shell指令碼make_lookupfile_tag.sh,為trafficserver-3.2.4的原始碼,產生一個檔案名稱tag檔案。

#!/bin/bash
# generate tag file for lookupfile plugin
echo -e "!_TAG_FILE_SORTED\t2\t/2=foldcase/" > filenametags
find . -not -regex '.*\.\(png\|gif\)' -type f -printf "%f\t%p\t1\n" | \
    sort -f >> filenametags
回想一下我們在”使用標籤(tag)檔案“一文中介紹的tag檔案的格式。再對照指令碼命令來看:


echo命令用來產生filenametags檔案中的”!_TAG_FILE_SORTED”行,表明此tag檔案是經過排序的。
find命令用來尋找所有類型為普通檔案,檔案尾碼名不是.png和.gif的檔案,找到的檔案按”檔案名稱\t檔案路徑\t1″的格式輸出出來。
sort命令則把find命令的輸出重新排序,然後寫入filenametags檔案中
在~/program_dev/trafficserver-3.2.4/目錄下運行該指令碼,
chmod +x make_lookupfile_tag.sh
/bin/bash make_lookupfile_tag.sh
會產生一個名為filenametags的檔案,包含了trafficserver-3.2.4目錄下的所有檔案的名字及其所在目錄,你可以開啟該檔案查看並驗證。


現在我們需要讓lookupfile外掛程式知道到哪去找檔案名稱tag檔案。我們假定vim當前工作目錄為~/program_dev/trafficserver-3.2.4/,執行下面的命令:
:let g:LookupFile_TagExpr = '"./filenametags"'
註:如果不設定g:LookupFile_TagExpr的值,那麼lookupfile外掛程式會以tags選項定義的檔案作為它的tag檔案。
當恢複前次會話時,就給lookupfile外掛程式定義了tag檔案。


現在我們就可以使用lookupfile來開啟檔案了,按”<F5>“或輸入”:LookupFile“在當前視窗上方開啟一個lookupfile小視窗,開始輸入檔案名稱(至少4個字元),隨著你的輸入,合格檔案就列在下拉式清單中了。檔案名稱可以使用vim的Regex,這大大方便了檔案的尋找。你可以用”CTRL-N“和”CTRL-P“(或者用上、下游標鍵)來在下拉式清單中選擇你所需的檔案。選中檔案後,按斷行符號,就可以在之前的視窗中開啟此檔案。

2.4 cscope外掛程式
標籤跳轉外掛程式,從下面的網址下載
http://cscope.sourceforge.net/
得到源碼包cscope-15.8a.tar.gz,下面進行源碼包安裝:
tar zxvf cscope-15.8a.tar.gz
cd cscope-15.8a
ll
./configure
make
make install
cd ../
注意使用下面的命令查看到
which cscope
可執行檔所在路徑是/usr/local/bin/cscope
cscope的用法很簡單,首先需要在你的工程目錄,比如trafficserver-3.2.4下面產生一個cscope資料庫,也就是一個索引檔案。cscope只在第一次解析時掃描全部檔案,以後再調用cscope時,它只掃描那些改動過的檔案,這大大提高了cscope產生索引的速度。

2.5 BufExplore外掛程式
緩衝區檔案瀏覽外掛程式,從下面的地址下載
http://vim.sourceforge.net/scripts/script.php?script_id=42
直接解壓即可自動安裝
unzip bufexplorer-7.3.6.zip
將在doc和plugin目錄下分別安裝bufexplorer.txt和bufexplorer.vim檔案。

2.6 winmager外掛程式
該外掛程式控制各外掛程式在vim視窗中的布局顯示,從下面的地址下載
http://vim.sourceforge.net/scripts/script.php?script_id=95
得到winmanager.zip檔案。
unzip winmanager.zip
把該檔案在~/.vim/目錄中解壓縮,這會將如下檔案解壓到~/.vim/plugin和~/.vim/doc目錄中:
plugin/winmanager.vim – winmanager外掛程式
plugin/winfileexplorer.vim  - 改良的Explorer外掛程式
plugin/wintagexplorer.vim – winmanager提供的tag外掛程式,用處不大
doc/winmanager.txt – 協助檔案

注意:winmanager外掛程式需要與BufExplorer外掛程式一起才能使用

2.7 直接是*.vim的外掛程式
這樣的外掛程式目前有
a.vim,            //將.h檔案與.c檔案來回切換
minbufexpl.vim    //快速探索和操作Buffer,自如切換
直接複製到~/.vim/plugin/下面就可以了

2.8 vim內建外掛程式
QuickFix            編譯錯誤修正,顯示查詢結果視窗
new-omni-completion  全能補全

2.9 NeoComplCache外掛程式
自動補全外掛程式,:
http://www.vim.org/scripts/script.php?script_id=2620
將下載下來的壓縮包neocomplcache-8.0.zip使用如下命令解壓
unzip neocomplcache-8.0.zip
其解壓後檔案夾裡面的檔案,好像是四個,autoload、doc、plugin、vest、README.MD,會自動放到.vim相應的檔案夾下面。
在~/.vimrc檔案裡加入自動啟動的命令:
let g:neocomplcache_enable_at_startup = 1。

2.10 查看外掛程式內建的文檔
注意到上面各步驟中已經把外掛程式內建的文檔放入$HOME/.vim/doc目錄下了,現在
進入vim,輸入命令:helptags $HOME/.vim/doc,vim就會自動讀取$HOME/.vim/doc目錄下的文檔,
輸入:help local-additions即可跳轉到$HOME/.vim/doc中的所有文檔列表處,用選擇要看的文檔即可。
我們可以看到,當前我們已經安裝的外掛程式有taglist,lookupfile,bufexplorer,winmanager外掛程式等。

2.11 安裝vim中文協助文檔
vim中文文檔的首頁是:
http://vimcdoc.sourceforge.net/
它將vim的help檔案翻譯成為中文,已經支援目前最新的vim 7.3。
如果想使用vim中文文檔(.cnx檔案),可以遵循以下步驟:
cd ~/.vim/
$wget http://nchc.dl.sourceforge.net/sourceforge/vimcdoc/vimcdoc-1.8.0.tar.gz(注意這不是真實的地址,僅作樣本)
tar zxvf vimcdoc-1.8.0.tar.gz
ll
cd vimcdoc-1.8.0
sudo ./vimcdoc.sh -i
cd ../
將會將這些文檔安裝在/usr/share/vim/,/usr/share/doc等幾個目錄下面。
啟動vim,輸入:help,看看協助文檔是否已經便成中文了?

2.12 grep外掛程式
工程中正則尋找外掛程式,從下面的地址下載
http://www.vim.org/scripts/script.php?script_id=311
將得到的grep.vim直接放到~/.vim/plugin/下面就可以了。

一些注意事項:
1)vim中文文檔不會覆蓋原英文文檔,安裝後vim預設使用中文文檔。若想使用英文文檔,可在vim中執行以下命令:
:set helplang=en
同理,使用以下命令可重新使用中文文檔:
:set helplang=cn
2)使用以下命令可以卸載vim中文文檔:
sudo ./vimcdoc.sh -u
3)協助檔案的文本是utf-8編碼的, 如果想用vim直接查看, 需要在~/.vimrc中設定:
:set encoding=utf-8

2.12文法高亮
普通一些的要求是更改色彩方案,設定如下:
首先要在你的 ~/.vimrc 檔案中增加下面幾句話:
syntax enable
syntax on
選中你喜歡的色彩配置,在.vimrc檔案中做設定,比如
colorscheme desert

更個人化的需求
讓運算子號, 各種括弧, 函數名, 自訂類型等也高亮起來
對各種語言的源檔案(比如c,c++,php,python等)建立一個文法檔案,分別存放到
/usr/share/vim/vim72/syntax/c.vim
下面,以C語言為例,建立一個檔案~/.vim/syntax/c.vim
加入以下內容
"========================================================
" Highlight All Function
"========================================================
syn match  cFunction "/<[a-zA-Z_][a-zA-Z_0-9]*/>[^()]*)("me=e-2
syn match  cFunction "/<[a-zA-Z_][a-zA-Z_0-9]*/>/s*("me=e-1
hi cFunction        gui=NONE guifg=#B5A1FF


"========================================================
" Highlight All Math Operator
"========================================================
" C math operators
syn match      cMathOperator    display "[-+/*/%=]"
" C pointer operators
syn match      cPointerOperator  display "->/|/."
" C logical  operators - boolean results
syn match      cLogicalOperator  display "[!<>]=/="
syn match      cLogicalOperator  display "=="
" C bit operators
syn match      cBinaryOperator  display "/(&/||/|/^/|<</|>>/)=/="
syn match      cBinaryOperator  display "/~"
syn match      cBinaryOperatorError display "/~="
" More C logical operators - highlight in preference to binary
syn match      cLogicalOperator  display "&&/|||"
syn match      cLogicalOperatorError display "/(&&/|||/)="


" Math Operator
hi cMathOperator            guifg=#3EFFE2
hi cPointerOperator        guifg=#3EFFE2
hi cLogicalOperator        guifg=#3EFFE2
hi cBinaryOperator          guifg=#3EFFE2
hi cBinaryOperatorError    guifg=#3EFFE2
hi cLogicalOperator        guifg=#3EFFE2
hi cLogicalOperatorError    guifg=#3EFFE2


再開啟你的C檔案看看, 是不是又明亮了許多. 還有一個壓箱底的要告訴你, 如果你自己增加了一個類型或者結構之類的, 怎麼讓它也象"int", "void"這樣高亮起來呢? 再在上面的檔案~/.vim/syntax/c.vim中添加下面的東東:
"========================================================
" My Own DataType
"========================================================
syn keyword cType      My_Type_1 My_Type_2 My_Type_3
這樣你自己的類型My_Type_1, My_Type_2, My_Type_3就也可以向"int"一樣高亮起來了, 這樣的缺點是每增加一個類型, 就要手動在這裡添加一下, 如果有人知道更簡單的方法請一定一定要告訴我

  • 1
  • 2
  • 下一頁

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.