vim和vi它們都是多模式編輯器,不同的是vim 是vi的升級版本,它不僅兼容vi的所有指令,而且還有一些新的特性在裡面。
vim三種工作模式:
1、命令模式
3、末行模式/尾行模式
vim的命令:
# vim /etc/passwd
光標的移動(不是特別常用)
h:向左移動
j:向下移動
k:向上移動
l:向右移動
行內跳轉
[Home]:快速移動到行首 ^(Shift+6)
[End]:快速移動到行尾 $(Shift+4)
行間跳轉
gg:快速回到文本首行
ngg:跳轉到第n行 n為數字
6gg
G:快速回到文本的末行
刪除
d:刪除、剪切
dd:刪除當前行
dw:刪除從光標位置開始的一個單詞
D和d$:刪除從當前字符開始到行尾
ndd:刪除從當前行開始的n行 5dd
x:刪除光標所在位置的字符
X:刪除光標前面的一個字符
複製
y:
yw:複製一個單詞
yy:複製當前行
nyy:複製從當前行開始的n行 n為數字
粘貼
p:paste
y+p 實現的是複製粘貼的功能
d+p 實現的是剪切粘貼的功能
p:粘貼到光標所在行的下一行,如果是單詞,粘貼到光標所在位置的後面.
撤銷
u: undo
--重做
Ctrl-r :對撤銷的撤銷操作。
替換
r:替換光標所在位置的一個字符
R:替換從光標所在位置開始的一串字符,直到按下[Esc]結束替換
i:在光標前插入
I:在行首插入內容
a:在光標後插入
A:在行尾插入
o:在光標所在行的下一行插入新行
O:在光標所在行的上一行插入新行
Esc
末行模式:
:set nu : 顯示行號
:set nonu :取消顯示行號
:q : 不保存退出
:q! :強制退出
:wq :保存退出 (:x) ctrl+zz
:wq! :強制保存退出
vim的查找:
/關鍵字:正向查找
n:向下查找
N:向上查找
vim的替換:
:s/old/new/ 用new替換old
例子:
:s/root/R00T/ //將光標所在行的第一個root替換為R00T
:s/old/new/g 全局替換,替換一整行中所有匹配到的內容
:s/root/R00T/g
:%s/old/new/g 全篇替換,替換整篇文章中所有匹配到的old為new
:開始行,結束行s/old/new/g 將從開始行到結束行之間的old替換為new
:8,15s/0/00/g
r \\read 在光標所在行的下一行讀入其他文件
nr 在第n行的下一行讀入其他文件
vim的配置文件:
# vim /etc/vimrc
在最後一行添加一行 set nu,這樣打開每個文件都顯示行號,即時生效
可視化模式:
ctrl+v 支持塊選