vi/vim 的使用
基本上 vi/vim 共分為三種模式螃概,分別是命令模式(Command mode)丁逝,插入模式(Insert mode)和底線命令模式(Last line mode)
命令模式:
? ? 用戶剛剛啟動 vi/vim哑舒,便進(jìn)入了命令模式此虑。
i? 切換到插入模式壶唤,以輸入字符稳诚。
? ? x ??刪除當(dāng)前光標(biāo)所在處的字符杨拐。
? ? : ? 切換到底線命令模式祈餐,以在最底一行輸入命令。
若想要編輯文本:啟動Vim哄陶,進(jìn)入了命令模式帆阳,按下i,切換到輸入模式
輸入模式:
? ? 在命令模式下按下 i 就進(jìn)入了輸入模式屋吨。
? ? 在輸入模式中蜒谤,可以使用以下按鍵:
ENTER(回車鍵)?換行
BACK SPACE(退格鍵)?刪除光標(biāo)前一個字符
方向鍵在文本中移動光標(biāo)
HOME/END移動光標(biāo)到行首/行尾
Page Up/Page Down?上/下翻頁
ESC退出輸入模式山宾,切換到命令模式
底線命令模式:
在命令模式下按下?:(英文冒號)就進(jìn)入了底線命令模式。
? ? 底線命令模式可以輸入單個或多個字符的命令鳍徽,可用的命令非常多资锰。
? ? 在底線命令模式中,基本的命令有(已經(jīng)省略了冒號):
? ? q 退出程序
? ? w 保存文件
?按ESC鍵可隨時退出底線命令模式阶祭。
vi/vim 使用實(shí)例
使用 vi 來建立名為 test.txt 的文件
?vi test.txt
按下 ESC 按鈕回到一般模式
在一般模式中按下 :wq 儲存后離開 vi
vi/vim 按鍵說明(一般模式下)
?h?或?向左箭頭鍵(←)?光標(biāo)向左移動一個字符
?j?或?向下箭頭鍵(↓)光標(biāo)向下移動一個字符
?k?或?向上箭頭鍵(↑)光標(biāo)向上移動一個字符
?l?或?向右箭頭鍵(→)?光標(biāo)向右移動一個字符
? ? 如果你將右手放在鍵盤上的話台妆,你會發(fā)現(xiàn) hjkl 是排列在一起的,因此可以使用這四個按鈕來移動光標(biāo)胖翰。 如果想要進(jìn)行多次移動的話接剩,例如向下移動 30 行,可以使用 "30j" 或 "30↓" 的組合按鍵萨咳, 亦即加上想要進(jìn)行的次數(shù)(數(shù)字)后懊缺,按下動作即可!
?Ctrl + f?屏幕『向下』移動一頁培他,相當(dāng)于 [Page Down]按鍵
?Ctrl + b?屏幕『向上』移動一頁鹃两,相當(dāng)于 [Page Up] 按鍵
?0?或功能鍵[Home]?這是數(shù)字『 0 』:移動到這一行的最前面字符處
?$?或功能鍵[End]?移動到這一行的最后面字符處
?G?移動到這個檔案的最后一行
?gg?移動到這個檔案的第一行
?? n?n 為數(shù)字。光標(biāo)向下移動 n 行
?/word?向光標(biāo)之下尋找一個名稱為 word 的字符串舀凛。例如要在檔案內(nèi)搜尋 vbird 這個字符串俊扳,就輸入 /vbird 即可
?n?重復(fù)前一個搜尋的動作
?N『反向』進(jìn)行前一個搜尋動作
?:n1,n2s/word1/word2/g?n1 與 n2 為數(shù)字。在第 n1 與 n2 行之間尋找 word1 這個字符串猛遍,并將該字符串取代為 word2
?:n1,$s/word1/word2/g從第一行到最后一行尋找 word1 字符串馋记,并將該字符串取代為 word2
?:n1,$s/word1/word2/gc?從第一行到最后一行尋找 word1 字符串,并將該字符串取代為 word2 懊烤!且在取代前顯示提示字符給用戶確認(rèn) (confirm) 是否需要取代
?x?向后刪除一個字符
?X?向前刪除一個字符
?? dd刪除游標(biāo)所在的那一整行
?ndd?n 為數(shù)字梯醒。刪除光標(biāo)所在的向下 n 行(包括游標(biāo)所在的那一行)
?yy?復(fù)制游標(biāo)所在的那一行
?? nyy ??n 為數(shù)字。復(fù)制光標(biāo)所在的向下 n 行
?? p?為將已復(fù)制的數(shù)據(jù)在光標(biāo)下一行貼上
?P?為將已復(fù)制的數(shù)據(jù)在光標(biāo)上一行貼上
?u復(fù)原前一個動作(撤銷)
?Ctrl + r重做上一個動作
?. ??重復(fù)前一個動作
一般模式切換到編輯模式
?i?從目前光標(biāo)所在處插入
?? I ??在目前所在行的第一個非空格符處開始插入
?a?從目前光標(biāo)所在的下一個字符處開始插入
?A?從光標(biāo)所在行的最后一個字符處開始插入
?o?在目前光標(biāo)所在的下一行處插入新的一行
?O?在目前光標(biāo)所在處的上一行插入新的一行
?r?只會取代光標(biāo)所在的那一個字符一次
?R?會一直取代光標(biāo)所在的文字腌紧,直到按下 ESC 為止
一般模式切換到指令行模式
?:w?將編輯的數(shù)據(jù)寫入硬盤檔案中
?:w!?強(qiáng)制將編輯的數(shù)據(jù)寫入硬盤檔案中
?? :q? ??離開
?:q!?為強(qiáng)制離開不儲存檔案
?? :wq?儲存后離開
?:wq!??強(qiáng)制儲存后離開
?:set nu?顯示行號茸习,設(shè)定之后,會在每一行的前綴顯示該行的行號
?? :set nonu ? ?取消行號