【 OS_Linux】vi/vim命令
vi/vim 共分為三種模式,分別是:
- 命令模式(Command mode)
- 輸入模式(Insert mode)
- 底線模式(Last line mode)
vi進入檔案後預設是命令模式,命令模式下輸入“i”進入輸入模式,命令模式下輸入“:”進入底線模式,輸入模式和底線模式下按“ESC”回到命令模式。
1、命令模式下的常用命令:
1、游標移動
hjkl,方向鍵移動一位,hjkl代表左、下、上、右
數字0 移至本行開頭
^ 移至本行第一個非空字元,匹配開頭
$ 移至本行結尾,可以包含空格
1G 移至第1行
G 移至游標最後一行
n+ 向下跳n行
n- 向上跳n行
注意:許多vi的命令前面都可以綴上數字,字首數字可以控制該命令執行的次數,比如5j可以使得游標向下移動5行。
2、剪下、複製和貼上
y0 當前字元到當前行的行首
y^ 當前字元到當前行首個非空字元
y$ 當前字元到當前行的末尾
yw 當前字元到下一單詞的起始處
yy 複製當前行
5yy 向下複製當前行在內的5行
yG 當前行到檔案末尾
y20G 當前行到檔案第20行(用法和d完全一樣,d實際就是剪下)
p 貼上到當前行後面(下方)
P 貼上到當前行前面(上方)
o 當前行下方插入新行並進入插入模式
O 當前行上方插入新行並進入插入模式
3、刪除和撤銷
x 刪除當前字元(剪下)
nx 向後刪除當前行在內的n個字元(剪下)
dd 刪除(剪下)當前行
ndd 向下刪除當前行在內的n行(剪下)
dW 刪除當前字元到下一單詞的起始處(刪除整個單詞)
d$ 刪除當前字元到當前行的末尾(剪下)
d0 刪除當前字元到當前行的起始處(剪下)
d^ 刪除當前字元噹噹前行下一個非空字元(剪下)
dG 刪除當前行到檔案末尾(剪下)
d20G 刪除當前行到檔案第20行(d與定位符結合使用,x不行)(剪下)
u 撤銷上一次操作
Ctrl + r
重做上一個動作
. 重複前一個動作
注意:x和d鍵實質上是剪下鍵,兩者功能略有差異。y是複製鍵,p是貼上鍵。
2、底線模式下儲存
w 儲存檔案但不退出vi命令
q 不儲存直接退出檔案
q! 放棄修改並強制退出
wq 儲存並退出檔案
w file1 檔案另存為file1