不卡AV在线|网页在线观看无码高清|亚洲国产亚洲国产|国产伦精品一区二区三区免费视频

學(xué)習(xí)啦>學(xué)習(xí)電腦>操作系統(tǒng)>Linux教程>

Ubuntu安裝vim插件的步驟

時(shí)間: 孫勝652 分享

  Source Insight是一款編輯器,擁有強(qiáng)大的功能,但適用于Windows系統(tǒng),那么Ubuntu系統(tǒng)該使用哪種編輯器呢?Vim就是Linux下很好的編輯器,下面學(xué)習(xí)啦小編就給大家介紹下如何在Ubuntu上安裝vim插件。

  source insight是windows下的優(yōu)秀編輯器,適合閱讀管理代碼,主要有以下功能:

  查找函數(shù),變量或者宏的定義。

  查找函數(shù),變量或者宏的引用位置。

  查找函數(shù)被調(diào)用的位置

  查找某個(gè)符號(hào)在工程內(nèi)的所有匹配

  由于unix哲學(xué)主張一個(gè)工具只做好一件事情,所以linux下并沒(méi)有這種集多樣功能于一體的軟件。vim是非常優(yōu)秀的編輯器,本文介紹如何通過(guò)安裝插件將vim武裝成和source insight一樣甚至更強(qiáng)大的工具。

  我的環(huán)境是ubuntu12.04 LTS+vim version 7.3

  1. ctags

  ctags插件用來(lái)查找函數(shù),變量或者宏的定義,ubuntu下可以非常方便的安裝,

  sudo apt-get install exuberant-ctag

  在源文件目錄下執(zhí)行命令

  ctags -R

  會(huì)生成一個(gè)tags文件,里面包含了所有源文件的符號(hào)信息。在vim中,快捷鍵ctrl+]會(huì)跳到當(dāng)前函數(shù)的定義處。為了方便生產(chǎn)tags,設(shè)置快捷鍵F5生成tag,將下面命令加入到~/.vimrc

  nnoremap 《F5》 :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q ?!禖R》

  nnoremap 表示vim普通模式的鍵映射,

  --c++-kinds=+p : 為標(biāo)簽添加函數(shù)原型(prototype)信息

  --fields=+iaS : 為標(biāo)簽添加繼承信息(inheritance),訪問(wèn)控制(access)信息,函數(shù)特征(function Signature,如參數(shù)表或原型等)

  --extra=+q : 為類(lèi)成員標(biāo)簽添加類(lèi)標(biāo)識(shí)

  如果項(xiàng)目有多層文件結(jié)構(gòu),一般只在根目錄生成一個(gè)tag文件,那么子目錄訪問(wèn)不到tag文件,在子目錄中直接打開(kāi)源文件將找不到函數(shù)的tag,一個(gè)方便的做法是在.vimrc中將tag加到tags的查找路徑中,每個(gè)項(xiàng)目一項(xiàng)。

  “project1”

  set tags+=/project1/tags

  ctags的快捷鍵:

  ctrl+] 切換到定義處

  g+ctrl+] 如果多處匹配,列出匹配tag列表供選擇

  count+ctrl+t 后退count個(gè)tag

 ?。篶ount+tag 前進(jìn)count個(gè)tag

 ?。簍s 列出匹配tag列表,存在多個(gè)匹配時(shí)

 ?。簍n 跳到下一處匹配tag

 ?。簍p 跳到上一處匹配tag

 ?。簍f 跳到地一個(gè)匹配tag

 ?。簍l 跳到最后一個(gè)匹配tag

 ?。簊et tags? 查看tags文件路徑

  2.cscope

  Ctags只能找到符號(hào)定義的地方,如果要像sourceinsight一樣,具備查找類(lèi)似函數(shù)調(diào)用查找,符號(hào)引用查找等高級(jí)功能,就要借助于cscope了。Cscope是類(lèi)似于ctags的工具,不過(guò)它的功能比ctags強(qiáng)大多了。

  在當(dāng)前源文件目錄下執(zhí)行

  cscope–Rbq

  其中

  -R:遞歸處理子層目錄

  -b:生成數(shù)據(jù)庫(kù)后自動(dòng)退出

  -q:生成cscope.in.out和cscope.po.out文件,加快cscope的索引速度

  vim打開(kāi)源文件后,增加cscope數(shù)據(jù)庫(kù)到當(dāng)前環(huán)境中

 ?。篶sadd cscope.out

  可以發(fā)現(xiàn)執(zhí)行后沒(méi)有反應(yīng),那是因?yàn)闆](méi)有打開(kāi)cscopeverbose選項(xiàng),打開(kāi)后增加數(shù)據(jù)庫(kù)后會(huì)顯示成功還是失敗信息,默認(rèn)是關(guān)閉的,我們把它打開(kāi)。

 ?。簊etcsverb

  想要查看當(dāng)前已經(jīng)加載了哪些cscope數(shù)據(jù)庫(kù)

  :csshow

  想要?jiǎng)h除某個(gè)數(shù)據(jù)庫(kù)

 ?。篶skill #

  安裝ctags和cscope后,就有兩種數(shù)據(jù)庫(kù)了,默認(rèn)會(huì)同時(shí)查看cscope和ctag數(shù)據(jù)庫(kù),這個(gè)行為由cst控制,默認(rèn)是打開(kāi)的。

  :setcst

  Csto控制查看數(shù)據(jù)庫(kù)的順序,等于0時(shí)優(yōu)先查看cscope數(shù)據(jù)庫(kù),再查看ctags數(shù)據(jù)庫(kù)

  :setcsto=0

  為了方便,我們可以在.vimrc中自動(dòng)增加當(dāng)前路徑下的cscope數(shù)據(jù)庫(kù)

  if has(“cscope”) set csprg=/usr/local/bin/cscope set csto=0 set cst set csverb if filereadable(“cscope.out”) cs add cscope.out elseif $CSCOPE_DB != “” cs add $CSCOPE_DB endif set csverbendif

  配置好以后就可以使用cscope的強(qiáng)大的查找功能了,cscope查找命令

 ?。篶s find type name

  Type包括

  0或者s —— 查找name在這個(gè)工程中出現(xiàn)的位置

  1或者g —— 查找name的定義

  2或者d —— 查找name調(diào)用的函數(shù)

  3或者c —— 查找調(diào)用name的函數(shù)

  4或者t —— 查找name字符串

  6或者e —— 查找egrep匹配模式

  7或者f —— 查找文件

  8或者i —— 查找#include 文件名為name的文件

  我在平常使用的最多是查找定義和調(diào)用當(dāng)前函數(shù)的函數(shù),所以在.vimrc中配置成F3和F4快捷鍵,自動(dòng)查找光標(biāo)下符號(hào)。

  nmap 《F3》 :cs find 3 《C-R》=expand(“《cword》”)《CR》《CR》

  nmap 《F4》 :cs find 0 《C-R》=expand(“《cword》”)《CR》《CR》

  3.taglist

  source insight左邊是當(dāng)前文件的所有符號(hào)窗口,包括include的頭文件,函數(shù)和變量。這個(gè)功能可以由taglist實(shí)現(xiàn)。Ubuntu下安裝非常方便,

  vim-addons install taglist

  vim-addons是vim的插件管理程序,如果沒(méi)有安裝的話可以執(zhí)行以下命令安裝

  sudo apt-get install vim-addon-manager

  sudo apt-get install vim-scripts

  vim-addons status可以看到當(dāng)前插件的安裝狀態(tài)

  vim-addons install 安裝插件

  vim-addons remove 刪除插件

  安裝好taglist后,可以自己打開(kāi)和關(guān)閉taglist窗口,

  :TlistToggle

  可以設(shè)置成F8快捷鍵,不過(guò)等后面安裝了winmanager后也不需要手動(dòng)控制了。

  nnoremap 《silent》 《F8》 :TlistToggle《CR》 F8

  幾個(gè)比較實(shí)用的選項(xiàng)需要打開(kāi):

  let Tlist_Auto_Open=1 “打開(kāi)文件時(shí)自動(dòng)打開(kāi)taglist

  let Tlist_Exit_OnlyWindow=1 “關(guān)閉文件時(shí)自動(dòng)關(guān)閉taglist

  let Tlist_File_Fold_Auto_Close=1 “taglist window中折疊非當(dāng)前文件

  let Tlist_Process_File_Always=1 “taglist始終解析文件

  需要查看更多選項(xiàng)請(qǐng)help

 ?。篽elp taglist.txt

  Ctrl-w-w 跳到taglist窗口,Taglist窗口中也有快捷鍵,

  《enter》 跳到光標(biāo)下的tag定義的位置

  u 更新taglist

  zo 打開(kāi)折疊

  zc 關(guān)閉折疊

  《tab》或]] 跳到下一個(gè)文件

  《BS》或[[ 跳到上一個(gè)文件

Ubuntu安裝vim插件的步驟

Source Insight是一款編輯器,擁有強(qiáng)大的功能,但適用于Windows系統(tǒng),那么Ubuntu系統(tǒng)該使用哪種編輯器呢?Vim就是Linux下很好的編輯器,下面學(xué)習(xí)啦小編就給大家介紹下如何在Ubuntu上安裝vim插件。 source insight是windows下的優(yōu)秀編輯器
推薦度:
點(diǎn)擊下載文檔文檔為doc格式

精選文章

  • Ubuntu磁盤(pán)整理命令匯總
    Ubuntu磁盤(pán)整理命令匯總

    Linux磁盤(pán)管理主要通過(guò)命令實(shí)現(xiàn),今天學(xué)習(xí)啦小編將針對(duì)Ubuntu磁盤(pán)管理的命令做個(gè)整理匯總,以便讓你對(duì)管理磁盤(pán)的命令有個(gè)詳細(xì)的了解,感興趣的朋友不

  • 備份Ubuntu系統(tǒng)的步驟
    備份Ubuntu系統(tǒng)的步驟

    相信不少人都沒(méi)有對(duì)電腦備份的習(xí)慣,其實(shí)這樣是不好的,在電腦出問(wèn)題的時(shí)候備份的作用就體現(xiàn)出來(lái)的,它能夠?qū)⑾到y(tǒng)還原到備份時(shí)候的狀態(tài)。下面學(xué)習(xí)

  • Ubuntu使用QT無(wú)法輸入中文怎么辦
    Ubuntu使用QT無(wú)法輸入中文怎么辦

    QT Creator是輕量級(jí)集成開(kāi)發(fā)環(huán)境,在Ubuntu系統(tǒng)操作中,使用QT時(shí)無(wú)法輸入中文,遇到這種情況要如何處理呢?下面學(xué)習(xí)啦小編就給大家介紹下Ubuntu如何解決QT無(wú)

  • Ubuntu無(wú)法安裝vim怎么辦
    Ubuntu無(wú)法安裝vim怎么辦

    vim文本編輯器是由vi發(fā)展而來(lái)的,擁有豐富的編輯功能,Linux系統(tǒng)經(jīng)常會(huì)用到vim文本編輯器。在Ubuntu系統(tǒng)中,vim文本編輯器存在無(wú)安裝的問(wèn)題,遇到這種問(wèn)題

316107