Linux常用命令總結——vi編輯器 vi是linux系統命令列介面下的一個強大的編輯器。Vi的三種模式命令模式:可通過vi命令來管理檔案,如游標的移動,字元、行的刪除移動等;插入模式:可對檔案進行編輯;末行模式:可儲存、退出、設定編輯環境等; 進入vi的命令 vi filename :開啟或建立檔案,並將游標置於第一行首 vi +n filename :開啟檔案,並將游標置於第n行首 vi + filename :開啟檔案,並將游標置於最後一行首 vi -r filename :在上次正用vi編輯時發生系統崩潰,恢複filename vi +/pattern filename:開啟檔案,並將游標置於第一個與pattern匹配的串處 (在RHEL5中測試沒有用)vi filename....filename :開啟多個檔案,依次進行編輯 (在RHEL5中測試沒有用)退出vi的命令:w 儲存:w filename 另存新檔filename檔案中:q 退出vi,若檔案被修改過,則提示要儲存:wq 儲存並退出,即w和q合成一步,先w後q:x 儲存當前檔案並退出,和wq等價:q 退出vi :q! 不儲存檔案並退出vi 移動游標命令以下的游標移動都是在命令模式下起作用的。h 或space 游標左移一個字元 l 或Backspace 游標右移一個字元 k或Ctrl+p 游標上移一行 j或Ctrl+n 游標下移一行 ^ 將游標移動到所在行的行首$ 將游標移動到所在行的行尾H 把游標移到螢幕頂行的首字元處L 把游標移到螢幕末行的尾字元處Ctrl+b 螢幕往後移一屏Ctrl+f 螢幕往前移一屏Ctrl+u 螢幕往後移半屏Ctrl+d 螢幕往前移半屏M :游標移至螢幕中間行 Enter :游標下移一行 w或W :游標右移到下一個字至字首 b或B :游標左移到前一個字至字首 e或E :游標右移到下一個字至字尾 fc 把游標移到同一行的下一個c字元處(c可以是任何一個字元)Fc 把游標移到同一行的前一個c字元處tc 把游標移到同一行的下一個c字元的前一格Tc 把游標移到同一行的前一個c字元的後一格*| 把游標移到第*列上(“|”是與符號的豎線,*代表一個整數)*l 把游標往右移動*個字元(“l”是與字元L的小字,*代表一個整數)*h 把游標向左移動*個字元*k 把游標向上移動*個字元*j 把游標向下移動*個字元 ) 把游標移至句尾 ( 把游標移至句首 } 把游標移至段落開頭 { 把游標移至段落結尾 *G:游標移至第*行首 *+:游標下移*行 *-:游標上移*行 *$:游標移至第*行尾 插入文本命令命令描述i在當前字元前插入文本 I在行首插入文本 a在當前字元後添加文本A在行末添加文本o在當前行後面插入一空行O在當前行前面插入一空行R以改寫方式輸入文本刪除檔案命令命令 描述 x 刪除游標所在位置的字元 X刪除游標所在位置的前一個字元 *x 刪除*個字元,從當前游標開始的*個字元 d$ 刪除從當前游標到行末的內容d^刪除從當前游標到行首的內容dd刪除當前所在的一行*d刪除*行,當前所在的一行和後*-1行dw刪除一個字*dw刪除*個單詞文本替換命令R 替換當前字元 *r 用輸入的字元取代從當前游標處開開始的*字元R 替換當前字元及其後的字元,直至按ESC鍵 *R 新輸入的文本出現*處,如3Rab,將用”ababab”替代.cc用即將輸入的內容替換整行C 替換從游標到末尾的所有內容cb 替換從開始到游標處的內容。cw 替換游標所在的字[rang] s /pattern/string [選項]Rang指尋找的範圍,預設是全部文本。如2,4表示對2行到的行的內容進行替換。Pattern用來指定需要被替換的內容,可以是RegexStirng 是用來替換pattern的字串[選項]:c 每次替換前都進行詢問,要求使用者確認e 不顯示錯誤g 對指定範圍中的字元完成替換,替換時不進行詢問i 替換時不區分大小寫 【例】在Test.java中將Test替換成test[python] [root@localhost rootfile]# vi Test.java public class Test { public static void main(String args[]) { System.out.println("Hello World!"); } } s /Test/test 結果為 public class Test { public static void main(String args[]) { System.out.println("Hello World!"); } } 尋找命令在命令模式下輸入“/”或“?”,切換到末行模式。/pattern 游標開始處向檔案尾搜尋pattern,若遇到檔案尾,則從檔案頭開始?pattern 游標開始處向檔案首搜尋pattern,若遇到檔案頭,則從檔案尾開始/pattern/+* 將游標停在包含pattern的行的後面第*行上/pattern/-*將游標停在包含pattern的行的前面第*行上n 按原搜尋方向重複上一次搜尋命令N 按相反方向重複上一次搜尋命令複製和粘貼yw 將游標所在處的字複製到緩衝區*yw 複製從當前字開始的*個字到綏沖區yy 複製游標所在的行到緩衝區*yy 複製游標所在行的*行到緩衝區y$ 複製游標所在處到本行末尾的內容到緩衝區y^ 複製游標所在處前一個字元到本行開頭的內容到緩衝區yG 複製當前游標所在的行到檔案尾的內容到緩衝區lyG 複製當前游標所在的行到檔案頭的內容到緩衝區p 將緩衝區的內容粘貼到當前游標的右側,如果緩衝區內容為一行,則複製到游標下面一行P 將緩衝區的內容粘貼到當前游標的左側,如果緩衝區內容為一行,則複製到游標上面一行重複命令在用vi編輯常值內容時經常會有一些重複操作,這時就要用到重複命令。重複命令只需要在命令模式下按下“.”即可,基操作是針對游標當前位置進行的。撤消命令撤消命令用於取消一次錯誤的操作,使之回到命令之前的狀態。重複命令只需要在命令模式下按下“u”或“U”即可。