1.命令模式下的操作:
-
光标的移动
h
(左)j
(下)k
(上)l
(右)
行首:0
行尾:$
文件开始位置:gg
文件末尾:G
行跳转:nG
(n – 自然数) -
删除操作
删除光标后边的字符:
x
删除光标前边的字符:X
删除单词:dw
(光标移动到单词的开始位置, 否只能删除一部分)
删除光标到行首的字符串:d0
删除光标到行尾的字符串:d$
删除光标当前行:dd
删除多行:ndd
(n – 自然数) -
撤销操作
撤销:
u
反撤销:ctrl + r
-
复制粘贴
复制:
yy
复制多行:nyy
粘贴:p
(光标所在行的下一行)
粘贴:P
(光标所在行) -
可视模式
切换到可是模式:
v
选择内容:
hjkl
(左下上右)操作: 复制:
y
删除:d
-
查找操作
1).
/hello
2).
?hello
3).
#
– 把光标移动到查找的单词身上 , 按#遍历时候的快捷键: N/n
-
查看man文档
光标在当前函数上,先输入
数字
,再输入shift+k
,跳转到man文档,对应章节 -
在命令模式下保存退出:
ZZ
2.文本模式下的操作:
-
切换到文本模式:
a
– 在光标所在位置的后边插入A
– 在当前行的尾部插入i
– 在光标所在位置的前边插入I
– 在光标所在行的行首插入o
– 在光标所在行的下边开辟一个新的行O
--在光标所在行的上边开辟一个新的行s
– 删除光标后边的字符S
– 删除光标所在的行
3.末行模式下的操作:
-
替换:
:s/tom/jack/g
(替换光标所在行内容,g对指定范围内的所有匹配项进行替换。)
:%s/tom/jack/
(在所有行中只对第1个匹配项进行替换)
:20,25s/tom/jack/g
(20到25行之间查找) -
保存退出:
:q
退出
:q!
退出不保存
:w
保存
:wq
保存退出
:x
==:wq
4:分屏操作:
光标切换 ctrl+w+w
关闭所有文件并退出,在命令后加all
,如:wqall
保存并关闭所有窗口(注意:
)
:sview [文件名]
->只读分屏打开文件
:new
分屏模式新打开一个空文件
vim -On file1, file2 ...
->垂直分屏
vim -on file1, file2 ...
->水平分屏
如vim -o3 a.txt b.txt c.txt
-
水平分屏
末行模式下输入
:sp [文件名]
(如果是当前文件可以省略文件名) -
垂直分屏
末行模式下输入
:vsp [文件名]
(如果是当前文件可以省略文件名)
显示不可见字符
命令模式下输入:set invlist