vim 三種模式及常用快捷鍵介紹
首先 所有linux like系統 包括mac 都會內建vi文字編輯器 而vim可以視為vi的高階版本,下面我來介紹一下vim的三種模式以及常用的快捷鍵,,
vim分為三種模式,
- 一般模式
- 編輯模式
- 命令列模式
以vim命令開啟一個檔案就直接進入了一般模式,在這個模式中,可以移動游標,可以刪除複製貼上,,但無法編輯檔案內容
在一般模式中按下i l o O a A r R 可以進入編輯模式,編輯模式通過esc鍵可以回到一般模式
在一般模式下輸入: / ? 三個字元中的任意一個,就可以進入命令列模式,這時游標會移到最下面一行等待輸入,讀取儲存離開等操作在此模式下完成
下面介紹下vim常用的快捷鍵
一般模式下
- ctrl+f :螢幕向下移動一頁
- ctrl+b:螢幕向上移動一頁
- (零)0 或 Home : 游標移動到這一行最前面字元處
- $或End:游標移動到這一行最後面字元處
- H:游標移動到螢幕最上方那一行的第一個字元處
- M:游標移動到這個螢幕的中央那一行的第一個字元處
- L:游標移動到這個螢幕的最下方那一行的第一個字元
- G: 移動到這個檔案的最後一行
- gg:移動到這個檔案的第一行( 相當於1G)
- /word: 向下尋找一個字串名稱為word的字串
- :n1,n2s/word1/word2/g: n1和n2為數字。在第n1和n2行之間尋找word1這個字串,並將該字串替換為word2
- :1,$s/word1/word2/g: 從第一行到最後一行查詢word1字串,並將該字串替換為word2
- :1,$s/word1/word2/gc: 從第一行到最後一行查詢word1字串,並將該字串替換為word2,且在替換前顯示提示字元給使用者確認是否真的替換
- x X: x為向後刪除一個字元(delete),X為向前刪除一個字元(backspace)
- nx xX: 向前向後刪除n個字元
- dd:刪除游標所在那一整行
- ndd: 刪除游標所在的向下n行,
- yy: 複製游標所在的那一行
- nyy: 複製游標所在的向下n行
- p P: p為將複製的資料在游標所在的下一行貼上,P為將複製的資料在游標所在的上一行貼上
- u:還原前一個操作
- ctrl+r: 重複前一個操作
- .: 重複前一個操作
命令列模式
- :w 將編輯的資料儲存
- :w! 將編輯的資料強制寫入,
- :q 離開
- :q! 強制離開不儲存
- :wq 儲存後離開
- ZZ 若檔案沒有改動,則不儲存離開,若檔案有改動,儲存後離開
- :set nu 顯示行號
- :set nonu 取消顯示行號
一般模式切換到編輯模式可用案件說明
- i I: 進入插入模式, i為從當前游標所在處進入編輯模式,,I為從當前游標所在行的第一個非空格處進入編輯模式
- a A: 進入插入模式, a為從當前游標所在位置的下一個字元處進入編輯模式,A為從當前游標所在行的最後一個字元處進入編輯模式
- o O: 進入插入模式, o為在目前游標所在行的下一行處插入新的一行,O為從當前游標所在行的上一行插入新的一行
- r R: 進入替換模式 ,r為替換游標所在位置處的字元一次,R會一直替換游標所在位置處的字元,直到按下esc鍵