vi/vim 的使用
基本上 vi/vim 共分為三種模式,分別是命令模式(Command mode),插入模式(Insert mode)和底線命令模式(Last line mode)
命令模式:
用戶剛剛啟動 vi/vim,便進入了命令模式。
i 切換到插入模式,以輸入字符。
x 刪除當前光標所在處的字符。
: 切換到底線命令模式,以在最底一行輸入命令。
若想要編輯文本:啟動Vim,進入了命令模式,按下i,切換到輸入模式
輸入模式:
在命令模式下按下 i 就進入了輸入模式。
在輸入模式中,可以使用以下按鍵:
ENTER(回車鍵) 換行
BACK SPACE(退格鍵) 刪除光標前一個字符
方向鍵 在文本中移動光標
HOME/END 移動光標到行首/行尾
Page Up/Page Down 上/下翻頁
ESC 退出輸入模式,切換到命令模式
底線命令模式:
在命令模式下按下 :(英文冒號)就進入了底線命令模式。
底線命令模式可以輸入單個或多個字符的命令,可用的命令非常多。
在底線命令模式中,基本的命令有(已經省略了冒號):
q 退出程序
w 保存文件
按ESC鍵可隨時退出底線命令模式。
vi/vim 使用實例
使用 vi 來建立名為 test.txt 的文件
vi test.txt
按下 ESC 按鈕回到一般模式
在一般模式中按下 :wq 儲存后離開 vi
vi/vim 按鍵說明(一般模式下)
h 或 向左箭頭鍵(←) 光標向左移動一個字符
j 或 向下箭頭鍵(↓) 光標向下移動一個字符
k 或 向上箭頭鍵(↑) 光標向上移動一個字符
l 或 向右箭頭鍵(→) 光標向右移動一個字符
如果你將右手放在鍵盤上的話,你會發現 hjkl 是排列在一起的,因此可以使用這四個按鈕來移動光標。 如果想要進行多次移動的話,例如向下移動 30 行,可以使用 "30j" 或 "30↓" 的組合按鍵, 亦即加上想要進行的次數(數字)后,按下動作即可!
Ctrl + f 屏幕『向下』移動一頁,相當於 [Page Down]按鍵
Ctrl + b 屏幕『向上』移動一頁,相當於 [Page Up] 按鍵
0 或功能鍵[Home] 這是數字『 0 』:移動到這一行的最前面字符處
$ 或功能鍵[End] 移動到這一行的最后面字符處
G 移動到這個檔案的最后一行
gg 移動到這個檔案的第一行
n<Enter> n 為數字。光標向下移動 n 行
/word 向光標之下尋找一個名稱為 word 的字符串。例如要在檔案內搜尋 vbird 這個字符串,就輸入 /vbird 即可
n 重復前一個搜尋的動作
N 『反向』進行前一個搜尋動作
:n1,n2s/word1/word2/g n1 與 n2 為數字。在第 n1 與 n2 行之間尋找 word1 這個字符串,並將該字符串取代為 word2
:n1,$s/word1/word2/g 從第一行到最后一行尋找 word1 字符串,並將該字符串取代為 word2
:n1,$s/word1/word2/gc 從第一行到最后一行尋找 word1 字符串,並將該字符串取代為 word2 !且在取代前顯示提示字符給用戶確認 (confirm) 是否需要取代
x 向后刪除一個字符
X 向前刪除一個字符
dd 刪除游標所在的那一整行
ndd n 為數字。刪除光標所在的向下 n 行(包括游標所在的那一行)
yy 復制游標所在的那一行
nyy n 為數字。復制光標所在的向下 n 行
p 為將已復制的數據在光標下一行貼上
P 為將已復制的數據在光標上一行貼上
u 復原前一個動作(撤銷)
Ctrl + r 重做上一個動作
. 重復前一個動作
一般模式切換到編輯模式
i 從目前光標所在處插入
I 在目前所在行的第一個非空格符處開始插入
a 從目前光標所在的下一個字符處開始插入
A 從光標所在行的最后一個字符處開始插入
o 在目前光標所在的下一行處插入新的一行
O 在目前光標所在處的上一行插入新的一行
r 只會取代光標所在的那一個字符一次
R 會一直取代光標所在的文字,直到按下 ESC 為止
一般模式切換到指令行模式
:w 將編輯的數據寫入硬盤檔案中
:w! 強制將編輯的數據寫入硬盤檔案中
:q 離開
:q! 為強制離開不儲存檔案
:wq 儲存后離開
:wq! 強制儲存后離開
:set nu 顯示行號,設定之后,會在每一行的前綴顯示該行的行號
:set nonu 取消行號