版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
VI/VIM終極教程第四版VimViVi普遍被ViEmacs1999EmacsLinuxworld20002Vim贏得了SlashdotBeanieEmacsVimEmacs同樣都是非常優(yōu)秀的文本編輯器。目錄簡(jiǎn)介發(fā)展歷史學(xué)習(xí)方法高效的讀代碼版本信息EmacsVim展開(kāi)簡(jiǎn)介發(fā)展歷史學(xué)習(xí)方法高效的讀代碼版本信息EmacsVim展開(kāi)簡(jiǎn)介Vim是從vi別豐富,在程序員中被廣泛使用。和EmacsUnix[1]使用vim先知道其設(shè)計(jì)理念是很重要的,有助于記憶,舉一反三;1.vim的設(shè)計(jì)理念是組合;:Vimvim的設(shè)計(jì)理念是命"dd"含義是刪除,"j"鍵代表移動(dòng)到下一行,組合后"dj"刪除當(dāng)前行和下一行。另外還可以指定命令重復(fù)次(兩次故組合后含義是刪除到光標(biāo)開(kāi)始到行首間的內(nèi)容(不包含光標(biāo));"d$"$"代表行尾,刪除到行尾的內(nèi)容(包含光標(biāo));用/模式間的組合:在普通模式中,有很多方法可以進(jìn)入插入模式。比較普通的方式是按"a"(append/追加)鍵或者"i"(insert/插入)鍵。,;^$w等vim;寫(xiě)代碼的時(shí)候手需要時(shí)刻保持在鍵盤(pán)上,隨機(jī)定位代碼、隨機(jī)刪除代碼、移動(dòng)代碼、插入代;順序?qū)?、設(shè)置字體格式、翻頁(yè)讀多于隨機(jī)寫(xiě)刪除操作,且每個(gè)動(dòng)作之間本身就有很多的停頓,UI)VIM高效vim進(jìn)行操作只會(huì)徒增你的:vim,C,java入門(mén)50)發(fā)展歷史BramMoolenaar在80Amiga上還沒(méi)有他最常用的編輯viBram從一個(gè)開(kāi)源的vi復(fù)制Stevie開(kāi)始,開(kāi)發(fā)了Vim的1.0版本。最初的目標(biāo)只是完全復(fù)制viVimVi模擬1991年Vim1.14版被"FredFishDisk#591"這個(gè)Amiga用的免費(fèi)軟體集所收錄了。1992年1.22版本的m被移植到了X和Sm的全名就變成i(改良)了。在這之后,Vim加入了不計(jì)其數(shù)的新功能。做為第一個(gè)里程碑的是1994年的3.0版本加入了多視窗編輯模式(分割視窗。從那之后,同一熒幕可以顯示的Vim編輯文件數(shù)可以1996年發(fā)布的Vim4.01998年5.0版本的Vim加入了highlight(語(yǔ)法高亮)2001年的Vim6.0版本加入了代碼折疊、2006年5月發(fā)布的Vim7.0版更加入了拼字檢查、上下文相關(guān)補(bǔ)完,標(biāo)簽頁(yè)編輯等新功能。2008年8月發(fā)布的Vim7.2,該版本合并了vim7.120100815,vim7.3主要功能vi多緩沖編輯任意個(gè)數(shù)的分割窗口(橫,豎)具備列表和字典功能的腳本語(yǔ)言可以在腳本中調(diào)用Perl,Ruby,Python,Tcl,MzScheme,C,C++單詞縮寫(xiě)功能動(dòng)態(tài)單詞補(bǔ)完對(duì)應(yīng)400種以上文本文件的語(yǔ)法高亮C/C++,Perl,Java,Ruby,Python40種以上語(yǔ)言的自動(dòng)縮排ctags的標(biāo)簽中跳轉(zhuǎn)崩潰后文件恢復(fù)光標(biāo)位置和打開(kāi)的緩沖狀態(tài)的保存復(fù)原(session功能)可以對(duì)兩個(gè)文件進(jìn)行差分,同步功能的diff模式遠(yuǎn)程文件編輯。[1]學(xué)習(xí)方法Vimvimvi已經(jīng)改良了不少,但是初次使用還是會(huì)vim2vim且vim(完成大部分的編輯工vim有過(guò)百條命令對(duì)應(yīng)編輯vimvim用在日常的文本編輯中vim技能就上升一級(jí)。其實(shí),Vim與其它編輯器一個(gè)很大的區(qū)別在于,它可以完成復(fù)雜的編輯與格式化功能.在這些領(lǐng)域還少有軟件能與它分庭抗禮,但是,與所有的靈活性的代價(jià)一樣,你需要用自己的雙手來(lái)實(shí)現(xiàn)它.這在事實(shí)上造成了用戶(hù)在使用Vim過(guò)程中的幾個(gè)自然階段.notepad,word,edit,,Vim的使用對(duì)你,.對(duì)三種工作模式的不解甚至使你認(rèn)為它是一個(gè)充滿(mǎn)BUG.事實(shí)上,這些起初看起來(lái)古怪的特性是Vim(或者是的作者和它的用戶(hù)們?cè)谧约郝L(zhǎng)的文字編輯和程序設(shè)計(jì)生涯中總結(jié)出來(lái)的最快速最實(shí)在的操作,在幾乎等于計(jì)算機(jī)本身歷史的成長(zhǎng)期中,,無(wú)用的特性或糟糕的設(shè)計(jì)在Vim用戶(hù).Vim.第二個(gè)階段你開(kāi)始熟悉一些基本的操作,這些操作足以應(yīng)付你日常的工作,你使用這些操作.但這些階段你仍然很少去碰Vim.notepad,edit.第三個(gè)階段,,冗長(zhǎng)而乏味,有沒(méi)有更好的辦法.于是,UNIX,,:helpxxx的大門(mén).開(kāi)始.,實(shí)用性.不過(guò)這卻是你擁有魔力的第一步.接下來(lái),你開(kāi)始認(rèn)識(shí)到這些咒語(yǔ)背后的真經(jīng),開(kāi)始偷偷修改一些奇怪的符號(hào),于是,奇跡產(chǎn)生了,魔力不但仍然有效,而且真實(shí)地作用于你..但這個(gè)過(guò)程并非是達(dá)到某個(gè)臨界狀態(tài)后的一路坦途,,,看似MissionImpossible的任務(wù).這是你使用Vim的最后一個(gè)階段,..開(kāi)始以敲入i18n來(lái)輸入internationalization,開(kāi)始讓Vim替你糾正經(jīng)常把the誤teh,Vim,開(kāi)始寫(xiě)越來(lái)越長(zhǎng)的script,.Vim完成高效的編輯而高度緊張.你開(kāi)始在Vim郵件列表里提一些確實(shí)是問(wèn)題的問(wèn)題.也開(kāi)始發(fā)現(xiàn)你在VimSHELL.事實(shí)上你已經(jīng)成了一個(gè)無(wú)可救藥的Vim骨灰級(jí)玩家.,高效率移動(dòng)1、在插入模式之外VIM“啞巴”編輯器一樣。很多新手都會(huì)一直呆在插入模式里面,因?yàn)檫@樣易于使用。但VIM的強(qiáng)大之處在于他的命令模式!你會(huì)發(fā)現(xiàn),在你越來(lái)越了解VIM間使用插入模式了。2、使用h、j、k、l使用VIMVIM,你就不用頻繁的在箭頭hj、l你就會(huì)發(fā)現(xiàn)這樣操作的高效之處了。在你編輯你的電子郵件或者其他有段落的文本時(shí)VIM看來(lái)是一個(gè)大的長(zhǎng)長(zhǎng)的行。這時(shí)你可以在按h、j、k或者l之前鍵入一個(gè)g,這樣VIM就會(huì)按屏幕上面的行如你所愿的移動(dòng)了。3、在當(dāng)前行里面有效的移動(dòng)光標(biāo)很多編輯器只提供了簡(jiǎn)單的命令來(lái)控制光標(biāo)的移動(dòng)(/尾等VIM則提供了很多強(qiáng)大的命令來(lái)滿(mǎn)足你控制光標(biāo)的欲望。當(dāng)光標(biāo)從一點(diǎn)移動(dòng)到另外一點(diǎn),在這兩點(diǎn)之間的文本(包括這兩個(gè)點(diǎn))“”,這里的命令也被稱(chēng)作是motion(簡(jiǎn)單說(shuō)明一下,后面會(huì)用到這個(gè)重要的概念)4、常用到的一些命令(motion)fxx;來(lái)重復(fù)你的上一個(gè)f命令。tx:和上面的命令類(lèi)似,但是是移動(dòng)到x的左邊一個(gè)位置。(這真的很有用)Fx:和fx類(lèi)似,不過(guò)是往回找。使用,來(lái)重復(fù)上一個(gè)F:和tx類(lèi)似,不過(guò)是往回移動(dòng)到x的右邊一個(gè)位置。b:光標(biāo)往前移動(dòng)一個(gè)詞。w:光標(biāo)往后移動(dòng)一個(gè)詞。0:移動(dòng)光標(biāo)到當(dāng)前行首(是數(shù)字^:移動(dòng)光標(biāo)到當(dāng)前行的第一個(gè)字母位置。$:移動(dòng)光標(biāo)到行尾。):移動(dòng)光標(biāo)到下一個(gè)句子。(5、在整個(gè)文件里面有效移動(dòng)光標(biāo)VIM有很多命令,可以用來(lái)到達(dá)文件里面你想到達(dá)的地方。下面是一些在文件里面移動(dòng)的命令:<Ctrl-f>:向下移動(dòng)一屏。<Ctrl-u>:向上移動(dòng)半屏。[2]G:到文件尾:移動(dòng)光標(biāo)到指定的行(比如G就是到第0行)gg:到文件首H:移動(dòng)光標(biāo)到屏幕上面ML:移動(dòng)光標(biāo)到屏幕下面*:讀取光標(biāo)處的字符串,并且移動(dòng)光標(biāo)到它再次出現(xiàn)的地方。#:和上面的類(lèi)似,但是是往反方向?qū)ふ?。:從?dāng)前光標(biāo)處開(kāi)始搜索字符串,并且到達(dá)text出現(xiàn)的地方。必須使用回車(chē)來(lái)開(kāi)n移動(dòng)到下個(gè)text移動(dòng)到上一個(gè)text處。?text:和上面類(lèi)似,但是是反方向。a-z你看不見(jiàn)書(shū)簽的存在,但它確實(shí)已經(jīng)在那里了。`a:到書(shū)簽a處。注意這個(gè)不是單引號(hào),它一般位于大部分鍵盤(pán)的1的左邊。`.:到你上次編輯文件的地方。這個(gè)命令很有用,而且你不用自己去標(biāo)記它。[]{}()然后通過(guò)%高效的輸入1、使用關(guān)鍵詞自動(dòng)完成VIM有一個(gè)非常漂亮的關(guān)鍵詞自動(dòng)完成系統(tǒng)。這表示,你可以輸入一個(gè)長(zhǎng)詞的一部分,然后按一下某個(gè)鍵,然后VIM為iAmALongAndAwkwardVarName在你寫(xiě)的代碼的某個(gè)地方。也許你不想每回都自己一個(gè)一個(gè)字母的去輸入它。使用關(guān)鍵詞自動(dòng)完成功能,你只需要輸入開(kāi)始幾個(gè)字母(比如,然后按(按住Ctrl,再按N)或者。如果VIM沒(méi)有給出你想要的詞,繼續(xù)按,直到你滿(mǎn)意為止,VIM會(huì)一直循環(huán)它找到的匹配的字符串。2、聰明的進(jìn)入插入模式很多新手進(jìn)入插入模式都只是用i。這樣當(dāng)然可以進(jìn)入插入模式,但通常不是那么合適,因?yàn)閂IM提供了很多進(jìn)入插入模式的命令。下面是最常用的一些:i:在當(dāng)前字符的左邊插入I:在當(dāng)前行首插入a:在當(dāng)前字符的右邊插入A:在當(dāng)前行尾插入o:在當(dāng)前行下面插入一個(gè)新行Oc{motion}:刪除motiont(但不包括,然后進(jìn)入插入模式。被刪除的字符被存在了剪貼板里面,并且可以再粘貼出來(lái)。d{motion}:和上面差不多,但是不進(jìn)入插入模式。3、有效的移動(dòng)大段的文本使用可視選擇(visualselections)和合適的選擇模式不像最初的VI,VIM允許你高亮(選擇)模式:v:按字符選擇。經(jīng)常使用的模式,所以親自嘗試一下它。V<C-V>:按塊選擇。非常強(qiáng)大,只在很少的編輯器中才有這樣的功能。你可以選擇一個(gè)矩形塊,并且在這個(gè)矩形里面的文本會(huì)被高亮。(wVjj將會(huì)高亮當(dāng)前行以及下面兩行。4、在可視選擇模式下剪切和拷貝一旦你高亮了選區(qū),你或許想進(jìn)行一些操作:d:剪貼選擇的內(nèi)容到剪貼板。y:拷貝選擇的內(nèi)容到剪貼板。c在非可視選擇模式下剪切和拷貝會(huì)節(jié)省時(shí)間:d{motion}:剪切motiondw會(huì)剪切一個(gè)詞而dfS會(huì)將從當(dāng)前光標(biāo)到下一個(gè)S之間的字符剪切至剪貼板。y{motion}:和上面類(lèi)似,不過(guò)是拷貝。c{motion}:和d{motion}類(lèi)似,不過(guò)最后進(jìn)入插入模式。dd:剪切當(dāng)前行。yy:拷貝當(dāng)前行。ccD:剪切從光標(biāo)位置到行尾到剪貼板。Y:拷貝當(dāng)前行。C:和D類(lèi)似,最后進(jìn)入插入模式。x:剪切當(dāng)前字符到剪貼板。sx5、粘貼粘貼很簡(jiǎn)單,按p。6、使用多重剪貼板很多編輯器都只提供了一個(gè)剪貼板。VIM有很多。剪貼板在VIM里面被稱(chēng)為寄存器”。最好使用VIM占用了。使用寄存器的命令為雙引號(hào)“。比如:我們要拷貝當(dāng)前行到寄存器k。你應(yīng)該按“kyy(你也可以使用V”ky。為什么這樣也可以呢?)現(xiàn)在當(dāng)前行應(yīng)該已經(jīng)存在了寄存器k器k“kp來(lái)粘貼寄存器k里面的內(nèi)容到你想要的位置。7、避免重復(fù)令人驚奇的.命令在VI.(小數(shù)點(diǎn)符號(hào)“dw”(刪除一個(gè)詞,I將會(huì)接著再刪除一個(gè)詞。8、使用數(shù)字使用數(shù)字也是VIM強(qiáng)大的而且很節(jié)省時(shí)間的重要特性之一。在很多VIM的命令之前都可以使用一個(gè)數(shù)字,這個(gè)數(shù)字將會(huì)告訴VIM這個(gè)命令需要執(zhí)行幾次。比如:3j將會(huì)把光標(biāo)向下移動(dòng)三行。10dd將會(huì)刪除十行。y3t″將會(huì)拷貝從當(dāng)前光標(biāo)到第三個(gè)出現(xiàn)的引號(hào)之間的內(nèi)容到剪貼板。數(shù)字是擴(kuò)展motion命令作用域非常有效的方法。高效的讀代碼建議在vim上安裝Taglist+cscope+ctags插件有利于高效讀代碼,有利于學(xué)習(xí)![3]1、安裝對(duì)于小編我來(lái)說(shuō)我使用的是Ubuntu,安裝軟件一般使用的命令是apt-getinstall***!對(duì)于vim+Taglist+cscope+ctags組合編輯器的創(chuàng)建,vim,cscope,ctags安裝起來(lái)比較方便使用上述命令即可安裝?。▽?duì)于不同的LinuxFedorayum命令安裝)對(duì)于Taglist使用這個(gè)方法安裝不了,我們需要先下載,然后安裝完成:首先上網(wǎng)下載Taglist插件,下載完成后解壓,再將文件下的taglist.vim使用cp命令拷貝到HOME/.vim/plugin文件夾下(cp-rtaglist.vim~/.vim/plugin)2、vim的配置vim是一個(gè)非常好用的編輯工具,以下介紹幾個(gè)常用的底行模式命令:(1).設(shè)置縮進(jìn):setsmartindent//設(shè)置縮進(jìn):setsmartindentshiftwidth=4//C語(yǔ)言自動(dòng)縮進(jìn),縮進(jìn)值為4個(gè)字符寬度(2).顯示光標(biāo)行列信息:setruler//顯示光標(biāo)信息(右下角)(3).查看制表符:setlist//顯示制表符,以^符號(hào)顯示制表符的位置(4).查看行數(shù)信息:setnumber//顯示行號(hào)(左邊)(5).關(guān)鍵字高亮:syntaxon//關(guān)鍵字高亮(6).多文件編輯,在編寫(xiě)程序時(shí)有可能需要同時(shí)編輯多個(gè)文件,在這種情況下,需要如下設(shè)置:splittwo.c//多文件編輯當(dāng)然,如果不嫌麻煩,可以在每次打開(kāi)Vim時(shí)輸入如上命令,如我經(jīng)常用的是:setnumber:setruler:syntaxon:setsmartindent命令,如果將平時(shí)在底行模式下輸入的命令直接寫(xiě)入配置文件,則以后使用Vim時(shí)不用再次輸入這些命令。首先,試著在Vi的底行模式下輸入如下命令,如果不支持的話(huà),去下載一個(gè)Vim的全版本,sudoapt-getinstall。以(1).找到Vimrc文件。查看文件的權(quán)限:ls-lvimrcshisir@shisir-desktop:/usr/share/vim$cd/etc/vimshisir@shisir-desktop:/etc/vim$lsgvimrcvimrcvimrc.tinyshisir@shisir-desktop:/etc/vim$ls-lvimrc-r--r--r--1rootroot24922009-04-1008:08vimrc如果沒(méi)有寫(xiě)權(quán)限的話(huà),修改權(quán)限,使我們可以修改該配置文件sudochmoda+wvimrc根據(jù)個(gè)人需要將上述命令寫(xiě)入配置文件比如,我個(gè)人的設(shè)置是:syntaxon,setruler,setnumber,setsmartindentshiftwidth=4vimrc"顯示行號(hào)setnumber"filetypeon"sethistory=1000"自動(dòng)對(duì)齊setautoindentsetcindent"setsmartindent"tab4個(gè)空格settabstop=4"4setshiftwidth=4"設(shè)置匹配模式,輸入左括號(hào)會(huì)出現(xiàn)右括號(hào)setshowmatch"編輯時(shí)顯示光標(biāo)狀態(tài)setruler"快速匹配setincsearch"ifhas("vms")setnobackupelsesetbackupendif"""""""""""""設(shè)置開(kāi)啟ctags"""""""""""""ctags-Rsetautochdir"""""""""""""""""Taglist設(shè)置"""""""""""""""""""letTlist_Auto_Open=1letTlist_Ctags_Cmd='/usr/bin/ctags'letTlist_Show_One_File=1letTlist_Exit_OnlyWindow=1""""""""""""""""""""""cscope""""""""""""""""""setcscopequickfix=s-,c-,d-,i-,t-,e-ifhas("cscope")setcsprg=/usr/bin/cscopesetcsto=1setcstsetnocsverb"addanydatabaseincurrentdirectoryiffilereadable("cscope.out")csaddcscope.outendifsetcsverbendif因?yàn)槲业奈臋n中的原配置文件已經(jīng)有了語(yǔ)法高亮:"Vim5andlaterversionssupportsyntaxhighlighting.Uncommentingthenext"lineenablessyntaxhighlightingbydefault.ifhas("syntax")syntaxonendif所以我就沒(méi)寫(xiě)了,您如果vimrc文件里面沒(méi)有此項(xiàng)建議自己加上syntaxon設(shè)置語(yǔ)法高亮PS:在配置文件中"符號(hào)后的內(nèi)容是注釋?zhuān)以谂渲梦募惺遣恍枰砑臃?hào)的,這里關(guān)于cscope、ctags和Taglist的設(shè)置可以先寫(xiě)上,后面將對(duì)這三個(gè)插件有介紹。好了,現(xiàn)在去開(kāi)一個(gè)Vim,編輯一個(gè)程序看看,是不是感覺(jué)很不一般呢?好了,下面順便演示下,智能補(bǔ)全的用法,我分四種情況:1、前面申明過(guò)的變量或者函數(shù)名的補(bǔ)全;2、結(jié)構(gòu)體等自建結(jié)構(gòu)的補(bǔ)全;3、STL等標(biāo)準(zhǔn)庫(kù)的補(bǔ)全;4、括號(hào)、引號(hào)等自動(dòng)匹配補(bǔ)全。對(duì)于第一種情況,寫(xiě)程序的過(guò)程中,直接用CTRL+p明了結(jié)構(gòu)體T,想在輸入3、Taglist插件的使用TagList插件,是一款基于在vim如上圖所示)顯示當(dāng)前的vim插件.在Vim中加載代碼文件后,可以使用以下命令控制taglist:TlistOpen打開(kāi)并將輸入焦點(diǎn)至于標(biāo)簽列表窗口,效果如上圖所示:TlistClose關(guān)閉標(biāo)簽列表窗口:TlistToggle切換標(biāo)簽列表窗口狀態(tài)(打開(kāi)←→關(guān)閉),標(biāo)簽列表窗口是否獲得焦點(diǎn)取決于其他配置ctl-w+w或ctl-w+方向鍵窗口切換(taglist本質(zhì)上是一個(gè)vim分隔窗口,因此可以使用ctl-w在Taglist窗口主要有以下操作按F1:打開(kāi)幫助回車(chē)鍵:跳到光標(biāo)所在的標(biāo)記的定義處(如將光標(biāo)移到main函數(shù),按回車(chē)鍵)o:新建一個(gè)窗口,跳到標(biāo)記定義處p:預(yù)覽標(biāo)記定義(仍然在taglist窗口)空格:顯示標(biāo)記的原型(如函數(shù)原型)u:taglistu)s:()d:taglist文件vif1.c,f2.cf1.c)x:ntaglist窗口+:展開(kāi)(指標(biāo)記)-:折疊*:全部展開(kāi)=:全部折疊[[:將光標(biāo)移到前一個(gè)文件的起點(diǎn)]]:將光標(biāo)移到后一個(gè)文件的起點(diǎn)q:退出taglist窗口F1:關(guān)閉幫助4、ctags插件的使用VIMVIMvitutor20VIM,vim的用法。但是對(duì)于LinuxC/C++的程序員,使用VIM+Ctags的^_^盡管ctags也可以支持其它編輯器,但是它正式支持的只有VIM。并且VIM中已經(jīng)默認(rèn)安裝了Ctags,它可以幫助程序員很容易地瀏覽源代碼。熟練的使用s僅需記住下面七條命令(很簡(jiǎn)單吧,呵呵)$ctags–R*($LinuxShell)$vi–ttagtag):ts(ts助記字:tagslistVI):tp(tp此命令不常用,可以不用記:tn(tn助記字:tagsnext此命令不常用,可以不用記Ctrl+]跳到光標(biāo)所在函數(shù)或者結(jié)構(gòu)體的定義處Ctrl+T返回查找或跳轉(zhuǎn)下面我們逐條的解釋上面的命令:“$ctags–R(當(dāng)前目錄“*”表示所有文件。這條命令會(huì)在當(dāng)前目錄下產(chǎn)生一個(gè)“tags”文件,當(dāng)用戶(hù)在當(dāng)前目錄中運(yùn)行vitagsTags文件中包括這些對(duì)象的列表:用#define定義的宏枚舉型變量的值函數(shù)的定義、原型和聲明名字空間(namespace)類(lèi)型定義(typedefs)變量(包括定義和聲明)類(lèi)、結(jié)構(gòu)、枚舉類(lèi)型)和聯(lián)合)類(lèi)、結(jié)構(gòu)和聯(lián)合中成員變量或函數(shù)VIM用這個(gè)“tags”文件來(lái)定位上面這些做了標(biāo)記的對(duì)象。剩下的命令就是定位這些對(duì)象的方法:“$vi–ttag”:在運(yùn)行vim的時(shí)候加上“-t”參數(shù),例如:[/usr/src]$vim-tmain變量或函數(shù)或其它)的文件,并把光標(biāo)定位到這一行。如果這個(gè)變量或函數(shù)有多處定義,在VI命令就能列出一個(gè)列表供用戶(hù)選擇。tp”tagtag標(biāo)記文件。當(dāng)然,若當(dāng)前tags文件中用戶(hù)所查找的變量或函數(shù)名只有一命令不可用。(“Ctrl+]”,這樣就能直接跳到這個(gè)變量或函數(shù)定義的源文件中,并把光標(biāo)定位到這一行。用“Ctrl+T”可以退回原來(lái)的地方。即使用戶(hù)使用了N次“Ctrl+]”N個(gè)變量,按N次“Ctrl+t”也能回到最初打開(kāi)的文件,它^_^vim“tags”文件所在的目錄下運(yùn)行。否則,運(yùn)行vim的時(shí)候還要用文件的路徑,這樣vims文件(。5、cscope插件的使用e是一個(gè)類(lèi)似s的工具。你可以把它想作是超過(guò)頻的強(qiáng)大很多。在Vim里,通過(guò)cscope一樣在函數(shù)等等之間便捷的跳轉(zhuǎn)。VIMcscope“cscopecscope“cscopeVIM8cscope的查詢(xún)功能,如下:例如,我work()findcwork”,回車(chē)后發(fā)現(xiàn)沒(méi)有找到匹配的功能,可能并沒(méi)有函數(shù)調(diào)用work()“:csfindswork”,查找這個(gè)符vimegrep程序的功能。cscopecscope.out文件vim命令行下執(zhí)行:(vimrc中有這一步):csaddcscope.out在vim命令行下執(zhí)行::cshelpcscopecommands:add:Addanewdatabase(Usage:addfile|dir[pre-path][flags])find:Queryforapattern(Usage:findc|d|e|f|g|i|s|tname)c:Findfunctionscallingthisfunction//查找調(diào)用本函數(shù)的函數(shù)d:Findfunctionscalledbythisfunction//查找本函數(shù)調(diào)用的函數(shù)e:Findthisegreppattern//查找egrep模式,相當(dāng)于egrep功能,但查找速度快多了f:Findthisfile//查找并打開(kāi)文件,類(lèi)似vim的find功能g:Findthisdefinition//查找函數(shù)、宏、枚舉等定義的位置,類(lèi)似ctags的功能i:Findfiles#includingthisfile//查找包含本文件的文件s:FindthisCsymbol//查找C語(yǔ)言符號(hào),即查找函數(shù)名、宏、枚舉值等出現(xiàn)的地方t:Findassignmentsto//查找指定的字符串help:Showthismessage(Usage:help)VIM命令kill:Killaconnection(Usage:kill#)reset:Reinitallconnections(Usage:reset)show:Showconnections(Usage:show)cscopedo_fork函數(shù)的定義:vim:csfgdo_fork版本信息Emacs和Vim二款神一樣
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年版影視制作與發(fā)行合同
- 美業(yè)門(mén)店培訓(xùn)課程設(shè)計(jì)
- 英語(yǔ)加國(guó)學(xué)課程設(shè)計(jì)理念
- 感覺(jué)統(tǒng)合課程設(shè)計(jì)大班
- 油畫(huà)初學(xué)者 課程設(shè)計(jì)
- 2024政法干警考試復(fù)習(xí)資料
- 系統(tǒng)動(dòng)力學(xué)課程設(shè)計(jì)總結(jié)
- 深圳市政府投資交通建設(shè)項(xiàng)目管理模式-第二冊(cè)
- 大班社會(huì)簽到課程設(shè)計(jì)
- 2024年羽絨家紡銷(xiāo)售崗位職責(zé)(共8篇)
- 湖南省部分學(xué)校2023-2024學(xué)年高二上學(xué)期期末聯(lián)合考試政治試卷 含解析
- 中學(xué)生心理健康教育主題班會(huì)課件
- 電大《人力資源管理》期末復(fù)習(xí)綜合練習(xí)題答案(2024年)
- 西師版數(shù)學(xué)(四上題)2023-2024學(xué)年度小學(xué)學(xué)業(yè)質(zhì)量監(jiān)測(cè)(試卷)
- 2022-2023學(xué)年廣東省廣州市白云區(qū)華南師大附屬太和實(shí)驗(yàn)學(xué)校九年級(jí)(上)期末數(shù)學(xué)試卷(含答案)
- 東方電影學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 人教版四年級(jí)上冊(cè)數(shù)學(xué)數(shù)學(xué)復(fù)習(xí)資料
- 安徽省安慶市迎江區(qū)2023-2024學(xué)年四年級(jí)上學(xué)期期末數(shù)學(xué)試卷
- SB/T 10439-2007醬腌菜
- 肺炎試題及答案
- 現(xiàn)代CMOS工藝基本流程
評(píng)論
0/150
提交評(píng)論