Vi各種快捷方式_第1頁
Vi各種快捷方式_第2頁
Vi各種快捷方式_第3頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、2016年04月第i頁Vi各種快捷方式1、可直接輸入的命令ctrl+v :進(jìn)入列模式編輯;shift+g :跳至文檔末尾;v:列模式(移動(dòng)光標(biāo),全選);u:撤銷;Ctrl+r :恢復(fù)剛才撤銷的動(dòng)作;Ctrl+w+w :切換到下一個(gè)窗口(多窗口操作);2、以冒號(hào)“:”開頭的命令:set nu :顯示行號(hào):set nonu :取消行號(hào)顯示:%s/字符串1/字符串2/g :全局替換,字符串2替換字符串1 注:#也可以作為分隔符:% ! sort -u :刪除重復(fù)行:set noh :取消高亮顯示3、以斜杠“ /”開頭的命令/輸入字符:查找內(nèi)容。4、行縮進(jìn)在命令格式下,按住shift并連續(xù)點(diǎn)擊兩次 ,

2、不進(jìn)入插入模式即可實(shí)現(xiàn)行縮進(jìn)行操作1、刪除行刪除沒有內(nèi)容的空行:g/A$/d刪除包含有空格組成的空行:g/As*$/d以空格或tab開頭到結(jié)尾的空行:g/A |t*$/d:%s/r/g 刪除DOS方式的回車am:%s= *$= 刪除行尾空白:%s/A(.*)n1/1$/刪除重復(fù)行:%s/A.-pdf/new.pdf/只是刪除第一個(gè) pdf:%s/v!-_.-又是刪除多行注釋(咦?為什么要說又呢?):g/s*A$/d刪除所有空行:這個(gè)好用有沒有人用過還有其他的方法嗎?:g!/Add/d刪除不含字符串'dd'的行:v/Add/d同上 (譯釋:v = g!,就是不匹配?。?g/str

3、1/,/str2/d 刪除所有第一個(gè)含 strl到第一個(gè)含str2之間的行:v/./.,/./-1join 壓縮空行:g/A$/,/./-j壓縮空行ndw或ndW 刪除光標(biāo)處開始及其后的n-1個(gè)字符。d0刪至行首。d$刪至行尾。ndd刪除當(dāng)前行及其后n-1行。x或X刪除一個(gè)字符。Ctrl+u刪除輸入方式下所輸入的文本。AR恢復(fù)u的操作J把下一行合并到當(dāng)前行尾V選擇一行AV按下AV后即可進(jìn)行矩形的選擇了aw選擇單詞iw內(nèi)部單詞(無空格)as選擇句子is選擇句子(無空格)ap選擇段落ip選擇段落(無空格)D刪除到行尾x,y刪除與復(fù)制包含高亮區(qū)dl刪除當(dāng)前字符(與x命令功能相同)dO刪除到某一行的開

4、始位置dA刪除到某一行的第一個(gè)字符位置(不包括空格或TAB字符)dw刪除到某個(gè)單詞的結(jié)尾位置d3w刪除到第三個(gè)單詞的結(jié)尾位置db刪除到某個(gè)單詞的開始位置dW刪除到某個(gè)以空格作為分隔符的單詞的結(jié)尾位置dB刪除到某個(gè)以空格作為分隔符的單詞的開始位置d7B刪除到前面7個(gè)以空格作為分隔符的單詞的開始位置d)刪除到某個(gè)語句的結(jié)尾位置d4)刪除到第四個(gè)語句的結(jié)尾位置d(刪除到某個(gè)語句的開始位置d)刪除到某個(gè)段落的結(jié)尾位置d刪除到某個(gè)段落的開始位置d7刪除到當(dāng)前段落起始位置之前的第7個(gè)段落位置dd刪除當(dāng)前行|d/text刪除從文本中出現(xiàn) “text ”中所指定字樣的位置,一直向前直到下一個(gè)該字樣所岀現(xiàn)的位置

5、(但不包括該字樣)之間的內(nèi)容dfc刪除從文本中岀現(xiàn)字符 “c”的位置,一直向前直到下一個(gè)該字符所岀現(xiàn)的位置(包括該字符)之間的內(nèi) 容dtc刪除當(dāng)前行直到下一個(gè)字符“c”所出現(xiàn)位置之間的內(nèi)容D刪除到某一行的結(jié)尾d$刪除到某一行的結(jié)尾5dd刪除從當(dāng)前行所開始的 5行內(nèi)容dL刪除直到屏幕上最后一行的內(nèi)容dH刪除直到屏幕上第一行的內(nèi)容dG刪除直到工作緩存區(qū)結(jié)尾的內(nèi)容d1G刪除直到工作緩存區(qū)開始的內(nèi)容vi列操作i、對(duì)列插入:i定位光標(biāo)位置2 ctrl+v 進(jìn)入visual-block 模式(選定光標(biāo)所在行對(duì)應(yīng)的列)3 j移動(dòng)光標(biāo)選擇列編輯行(按 shift+g 移動(dòng)到文件底部)4輸入大寫I5輸入輸入要插

6、入的文本6 esc7保存完成eg :文件內(nèi)容如下:123455678967755hghgh45975現(xiàn)在需在第一列插入#,將光標(biāo)定在第一行第一列處,ctrl+v選定第一列,輸入命令I(lǐng),之后按shift+g,光 標(biāo)跳至最后一行的第一列,此時(shí)選定了整個(gè)文件的第一列,輸入要插入的字符#,此時(shí),字符#只會(huì)顯示在第一行第一列的位置上,按ESC退出,則其余行的第一列的#將顯示出來。2、vi列替換3、列模式編輯方法在使用i600w的編輯腳本時(shí),只想使用其中的拷貝命令,但是還有其他很多行, 如果一起運(yùn)行的話,編譯將會(huì)花費(fèi)太多時(shí)間,但是如果一行行注釋掉又比較麻煩, 將來需要從新使用是還要一行行去掉注釋,突然想到

7、vi工具的強(qiáng)大,網(wǎng)上搜索看看有沒有什么編輯命令,果然發(fā)現(xiàn) vi有個(gè)列編輯模式:編程的時(shí)候需要進(jìn)行多行注釋和刪除多行注釋,方法如下:1、注釋:ctrl+v進(jìn)入列編輯模式,向下或向上移動(dòng)光標(biāo),把需要注釋的行的開頭標(biāo) 記起來,然后按大寫的I,再插入注釋符,比如"",再按Esc,就會(huì)全部注釋了。2、刪除:先按v,進(jìn)入visual模式,橫向選中列的個(gè)數(shù)(如"/ /"注釋符號(hào),需要選中兩 列),再按Esc,再按ctrl+v進(jìn)入列編輯模式,向下或向上移動(dòng)光 標(biāo),選中注釋部分, 然后按d,就會(huì)刪除注釋符號(hào)。3、 使用替換命令:s/A/W/g來在全部內(nèi)容的行首添加/號(hào)注釋

8、:2,50s/A/W/g 在250行首添加/號(hào)注釋反過來替換既是刪除操作。vi替換操作vi不支持模糊查詢和混合查詢1、全局替換字符串eg:/home/zha ngyzh./e vn /home/zha ngyzh./e vn /home/zha ngyzh./e vn /home/zha ngyzh./e vn現(xiàn)在需去掉zhangyzh后的“.”,可采用字符串替換的方式::%s/zha ngyzh./zha ngyzh/g即可將.全部去掉。其中,/g表示全局的意思??梢杂脕砣サ裟骋涣械淖址?、替換指定范圍內(nèi)的字符串eg:要替換14行至20行之間的所有TCL_PATH為REPORT_PATH,命

9、令如下: :14,20s/TCL_PATH/REPORT_PATH/替換行為將只發(fā)生在1420行之間。3、替換含指定字符串的字段4、多行串成一行即換行符替換成空格指令::%s/n/ /g或:O,$s/n/ /vi復(fù)制操作1、vi復(fù)制多行:vi復(fù)制多行文本的方法方法:方法1 :光標(biāo)放到第6行,輸入:2yy光標(biāo)放到第9行,輸入:p此方法適合 復(fù)制少量行文本的情況,復(fù)制第6行(包括)下面的2行數(shù)據(jù),放到第9行下面。方法2:命令行模式下輸入6,9co12,復(fù)制第6行到第9行之間的內(nèi)容到第12 行后面。方法3:有時(shí)候不想費(fèi)勁看多少行或復(fù)制大量行時(shí),可以使用標(biāo)簽來替 代光標(biāo)移到起始行,輸入 ma光標(biāo)移到結(jié)

10、束行,輸入 mb光標(biāo)移到粘貼行,輸入 mc然后:'a,'bco'c 把co改成m就成剪切了要?jiǎng)h除多行的話,可以用:5,9de1.將光標(biāo)移動(dòng)到將要復(fù)制的行處,按 yy進(jìn)行復(fù)制當(dāng)前行(按nyy復(fù)制n行), 再移動(dòng)到粘貼位置,按p進(jìn)行粘貼。2.將光標(biāo)移到復(fù)制的首位置,按下 V,用hjkl移動(dòng),按y復(fù)制,按p粘貼。3.光標(biāo)移到起始行,輸入 ma ;光標(biāo)移到結(jié)束行,輸入 mb;光標(biāo)移到粘貼行, 輸入me;然后:'a,'b co 'c,把co改成m就成剪切了。4.光標(biāo)移動(dòng)到要復(fù)制的行,輸入 yny (n表示要復(fù)制該行以下n行);光標(biāo)移動(dòng) 到粘貼行,按p粘貼。

11、5.直接輸入:n1,n2 co n3 °(n1為起始行,n2為結(jié)束行,n3為粘貼行)6.不同文件之間的復(fù)制:用:sp filename打開另一文件,(用Aww在文件之間 切換),然后按上述方法復(fù)制有關(guān)的命令如下:yy將當(dāng)前行復(fù)制到緩沖區(qū)yw將當(dāng)前單詞復(fù)制到緩沖區(qū)y1將光標(biāo)處的一個(gè)字符復(fù)制到緩沖區(qū)p將緩沖區(qū)的信息粘貼到光標(biāo)的后面:行號(hào)1 ,行號(hào)2 copy行號(hào)3 將行號(hào)1到行號(hào)2的內(nèi)容復(fù)制到行號(hào)3所在行 的后面。:行號(hào)1,行號(hào)2 move行號(hào)3 將行號(hào)1到行號(hào)2的文本內(nèi)容移動(dòng)到行號(hào)3 所在行的后面。2、vi多個(gè)文件之間復(fù)制、粘貼兩個(gè)文件,假定分別位于不同的路徑/home/zha ngy

12、zh/a.tcl/home/zha ngyzh/temp/b.tcl1打開a.tcl文件:vi /home/zha ngyzh/a.tcl2. 選中要復(fù)制的內(nèi)容:(1 )復(fù)制全部內(nèi)容:在a文檔開頭(第一行開頭)處做標(biāo)記,直接輸入命令mk ;按shift+g跳到最后一行,在文檔末尾處(最后一行的最后一個(gè)字符)做標(biāo)記,輸入指令” ay' k,之后光標(biāo)將自動(dòng)跳至文檔開頭,此時(shí),a文檔中的全部內(nèi)容放 入了緩沖區(qū)中;(2)復(fù)制部分內(nèi)容3. 打開 b.tcl緊接以上操作(不關(guān)閉a.tcl),利用指令ex打開b.tcl , : ex/home/zhangyzh/temp/b.tcl ,此時(shí)打開 b.

13、tcl4. 移動(dòng)光標(biāo)至目標(biāo)位置,輸入指令” ap,內(nèi)容復(fù)制成功。3、快捷復(fù)制、粘帖有時(shí)候不想費(fèi)勁看多少行或復(fù)制大量行時(shí),可以使用標(biāo)簽來替代光標(biāo)移到起始行,輸入ma光標(biāo)移到結(jié)束行,輸入mb光標(biāo)移到粘貼行,輸入me然后:'a,'b co 'c 把co改成m就成剪切了要?jiǎng)h除多行的話,可以用:5, 9 devi刪除操作1、vi列刪除方法一:ctrl+v進(jìn)入列編輯模式;將光標(biāo)定位子想要?jiǎng)h除的起始列;移動(dòng)光標(biāo)至結(jié)束列(直接通過移動(dòng)光標(biāo)選中,對(duì)列不對(duì)齊時(shí),可能比較長的行,無法全部選中,尤其是需要一直刪除到行末,按end可直接到達(dá),在列不對(duì)齊情況下也可將內(nèi)容全部選擇)方法二:1. 定位

14、光標(biāo);2. 按 d ;3. 按 ctrl+v ;4. 按end (直接到行末)或數(shù)字+方向鍵(指定需刪除的字符數(shù))注:在第四步,按鍵后會(huì)直接刪除選定內(nèi)容。2、vi行刪除1、單行刪除單行刪除:1 (待刪除行)d光標(biāo)所在行,dd2、多行刪除多行刪除:1,10d3、查找關(guān)鍵字刪除1、刪除關(guān)鍵字所在行 要?jiǎng)h除文檔中含有字符reset_reg的所有行::g/reset_reg/d會(huì)將含有reset_reg的全部行刪除。4、刪除含有某些字符的行:g/stri ng/deg:路徑列表,刪除含trash的路徑:g/trash/d即可把列表中列出的含有回收站的統(tǒng)計(jì)的路徑刪除。5、刪除空白行方法一: :g/A$/

15、d方法二:%s/An/s/g方法三:g/An/s/g方法四:刪除多行空白行,保留一行空白行:%s/An$/gvi注釋操作1、全文注銷:%s/A/#/g2、指定行/段注銷vi取消各種操作1、取消查找操作:目的:取消查找操作后對(duì)找到字符的高亮顯示方法一:輸入一串永遠(yuǎn)無法找到的字符串;方法二:正確的方法應(yīng)該是使用“:noh ”或“ nohlsearch ”vi多窗口操作:1、如何打開多窗口:(1)不同文件在不同窗口打開打開方法:(1):e filename_path/filename此時(shí)可以通過Tab鍵查找目錄下的文件,此時(shí)是重新打開選定的文件,前一個(gè)打開的文件將被關(guān)掉;不退出vi情況下打開另一個(gè)文

16、件,一個(gè)窗口只顯示一個(gè)文件(2):new filename_path/filename打開選定文件,前一個(gè)打開的文件不退出;(3):sp filename_path/filename 或:split filename_path/filename打開選定文件,前一個(gè)打開的文件不退出;(2 )和(3)均為在一個(gè)窗口中打開兩個(gè)文件。窗口間切換:ctrl+w, k:將光標(biāo)移到上面窗口;ctrl+w,j :將光標(biāo)移到下面窗口;ctrl+W/J:上下兩個(gè)窗口位置互換,但光標(biāo)的位置仍在原來那個(gè)窗口;(2)同一個(gè)文件在兩個(gè)窗口打開2、Vim的分屏功能1、分屏啟動(dòng)Vim使用小寫的o參數(shù)來上下分屏(橫向分屏)。v

17、im -on file1 file2 .使用大寫的0參數(shù)來左右分屏(縱向分屏)。vim -On filel file2 .注釋:n是數(shù)字,表示分成幾個(gè)屏。2、關(guān)閉分屏關(guān)閉當(dāng)前窗口。Ctrl+W c關(guān)閉當(dāng)前窗口,如果只剩最后一個(gè)了,則退出 Vim。Ctrl+W q把光標(biāo)移到下一個(gè)的屏中Ctrl+W w3、分屏上下分割當(dāng)前打開的文件。Ctrl+W s上下分割,并打開一個(gè)新的文件。:sp file name左右分割當(dāng)前打開的文件。Ctrl+W v左右分割,并打開一個(gè)新的文件。:vsp file name4、移動(dòng)光標(biāo)Ctrl+WVi中的光標(biāo)鍵是h, j, k, l,要在各個(gè)屏間切換,只需要先按 把光標(biāo)移到右邊的屏。Ctrl+W l把光標(biāo)移到左邊的屏中。Ctrl+W h把光標(biāo)移到上邊的屏中。Ctrl+W k把光標(biāo)移到下邊

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論