首先 所有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鍵
可供大家使用vim時進行查閱