vi的使用

06-8-16 :vi的文本替換 (1)替換從第n行到第m行的文本 :[n],[m]s/[需要替換的文本]/[替換文本]/g (2)替換整個文本種的需要替換的文本 :%s/[需要替換的文本]/[替換文本]/g (3)替換從當前光標開始處,到第n行的需要替換的文本 :.,[n]s/abcd/dbde/g 06-8-17 vi 中的查找命令 (1):/的用法 <1>從光標向後查找相應字符串[STR] :/[STR] <2>從光標向後查找句首含有[STR]的行 :/^[STR] <3>查找後光標的移動,移到從光標起到下x個找到的字符的位置 xn <4>移動到找到的第一個匹配的位置 <5>光標移動到找到模式的最後一個位置 (2)?string <1>光標所在處向前查找相應的字符串 :?[STR] <2> 06-8-18 vi中光標移動命令 <1>上下左右移動x行: 也就是右手在鍵盤上放置的位置部分 xk,xj,xh,xl 其中x是數字如1k,2j,3h,4l 分別是向上下左右移動1,2,3,4行 <2>跳到指定行數 nG 其中n是行數 <3>報告光標所在的行數和列數 Ctrl+G <4>使光標向前或向後跳一個單詞 w,b <5>使光標移動到行首/尾 <5>在屏幕中移動的命令 H 跳到第一行 M 跳到中間一行 L 跳到最後一行 06-8-18 vi中的刪除命令 (1)刪除當前一個字符 <1>刪除當前字符,光標停留在原字符處 dl <2>刪除當前字符,光標停留在光標前一個字符 x (2)刪除一行中的字符 <1>刪除光標所在的一行 dd <2>刪除從光標起前一個字符到行首的所有字符 d0 或 d^ <3>刪除從光標處到行尾的所有字符 D 或 d$ <4>刪除從光標起到一行開始處的所有字符 d 0 d ^(不包括空格和tab鍵) <5>刪除從光標起的後5行內容 5dd (3)刪除單詞 <1>刪除(改變)當前單詞(d->delete,c->change) dw (cw) <2>刪除光標後三個單詞 3dw <3>刪除從光標起的三個單詞末尾 d3w <4>刪除光標前x個單詞 dxb <5>刪除到某個以空格作爲分隔符的單詞的結尾位置 dW <6>刪除到某個以空格作爲分隔符的單詞的開始位置 dB <7>刪除到前面7個以空格作爲分隔符的單詞的開始位置 d7B (4)刪除屏幕中的字符 <1>刪除直到屏幕上第一行的內容 dH <2>刪除到屏幕所在文本的最後一行 d L (5)刪除緩衝區中的區域 <1>刪除從光標到結尾處的所有行 dG <2>刪除從光標位置到工作緩衝區開始處所有行(包括光標所在行) d1G (5)刪除特定條件下的字符 <1>刪除當前行直到下一個字符“ c”所出現位置之間的內容 d tc <2>刪除從文本中出現字符“c”的位置,一直向前直到下一個該字符所出現的位置(包括該字符)之間的內容 d fc (6)段落的刪除 <1>刪除到某個語句的結尾位置 d) <2>刪除到第四個語句的結尾位置 d 4) <3>刪除到某個語句的開始位置d d( <4>刪除到某個段落的結尾位置 d } <5>刪除到某個段落的開始位置 d { <6>刪除到當前段落起始位置之前的第7個段落位置 d 7 { 08-19 vi 中的修改操作命令(change) (1)字符的修改 <1>修改當前字符 cl <2> <2>單詞的修改 <1>修改到某個單詞的結尾位置 c w <2>修改到第三個單詞的結尾位置 c 3 w <3>修改到某個單詞的開始位置 c b <4>修改到某個以空格作爲分隔符的單詞的結尾位置 c W <5>修改到某個以空格作爲分隔符的單詞的開始位置 c B <6>修改到前面7個以空格作爲分隔符的單詞的開始位置 c 7 B (3)行的修改 <1>修改到某行的開始位置 c 0 <2>修改當前行 c c <3>修改到某一行的結尾 C c) 修改到某個語句的結尾位置 c 4) 修改到第四個語句的結尾位置 c( 修改到某個語句的開始位置 c } 修改到某個段落的結尾位置 c { 修改到某個段落的開始位置 c 7 { 修改到當前段落起始位置之前的第7個段落位置 c tc 修改當前行直到下一個字符c所出現位置之間的內容 5 c c 修改從當前行所開始的5行內容 重複上一次修改! 表8-4 替換命令替換命令操作 s 將當前字符替換爲一個或多個字符 S 將當前行替換爲一個或多個字符 5 s 將從當前字符開始的5個字符替換爲一個或多個字符 vi替換使用規則: :g/s1/s/s2/s3/g 第一個g表示對每一個包括s1的行都進行替換,第二個g表示對每一行包括s1的行所有的s2都用s3替換 s表示替換,s2是要被替換的字符串,他可以和s1相同(如果相同的話用//代替),s3是替換字符串 08-19 vi中移動字符的命令 (1)字母的交換 <1>交換光標所在字母和下一個字母 xp (2)行的移動 <1>上下兩行調換 ddp <2>將上下兩行合併 J 08-19 vi中的複製粘貼命令 (1)同一文件中的操作 <1>複製粘貼一行的命令 yy 複製光標所在行 p 粘貼到光標位置 <2>從當前位置複製到行尾 y$ p是粘貼命令 <3>複製向下x行 xyy <4>複製光標所在列到第一列的所有資料 y1G <5>複製光標所在列到最後一列的所有資料 yG <6>粘貼 p 粘貼在光標下一行 P 則爲貼在光標上一行! (2) 08-19 vi 的保存和退出 w 將編輯的資料寫入硬盤檔案中(常用) :w! 若檔案屬性爲『只讀』時,強制寫入該檔案 :q 離開 vi (常用) :q! 若曾修改過檔案,又不想儲存,使用 ! 爲強制離開不儲存檔案。 :wq 儲存後離開,若爲 :wq! 則爲強制儲存後離開(常用) :e! 將檔案還原到最原始的狀態! ZZ 若檔案沒有更動,則不儲存離開,若檔案已經經過更動,則儲存後離開! :w [filename] 將編輯的資料儲存成另一個檔案(類似另存新檔) :r [filename] 在編輯的資料中,讀入另一個檔案的資料。亦即將 『filename』這個檔案內容加到光標所在行後面 :set nu 顯示行號,設定之後,會在每一行的前綴顯示該行的行號 :set nonu 與 set nu 相反,爲取消行號! n1,n2 w [filename] 將 n1 到 n2 的內容儲存成 filename 這個檔案。 :! command 暫時離開 vi 到指令列模式下執行 command 的顯示結果!例如[ :! ls /home ]

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章