六月丁香五月婷婷,丁香五月婷婷网,欧美激情网站,日本护士xxxx,禁止18岁天天操夜夜操,18岁禁止1000免费,国产福利无码一区色费

學(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 。《CR》

  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í)

  :tn 跳到下一處匹配tag

  :tp 跳到上一處匹配tag

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

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

  :set 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ù)

 ?。篶sshow

  想要?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ù)

 ?。簊etcsto=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查找命令

  :cs 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