vim基础操作
vim三种模式
-
命令模式
(Command mode)首次进入
vim
即命令模式
,输入命令可进行相应的操作- 输入
i
切换到输入模式 -
x
删除光标当前字符 - 输入
:
切换到底线命令模式
- 输入
-
编辑模式
(Insert mode)按esc退出编辑模式
-
底线命令模式
(Last line mode)命令模式
下输入:
进入底线命令模式
-
:w
write 保存 -
:q
quite 退出 -
:q!
quite 强制退出不保存 -
:wq
强制保存并退出,一定会强制更新文件的修改时间 -
:x
保存并退出,如果文件没有发生变化,那么不会更新文件的修改时间
-
vim进阶操作
进入编辑模式的几种命令
-
i
insert 进入编辑模式,在当前字符前插入 -
a
append 进入编辑模式,在当前字符后追加 -
o
open a line below 进入编辑模式,在当前字符下方重新开启一行 -
I
在当前字符所在行最前面插入 -
A
在当前字符所在行最后面追加 -
O
在当前字符所在行上方开起一行 -
r
取代当前光标字符一次 -
R
取代光标所在文字,直到按下esc
编辑模式与命令模式之间快速切换
-
esc
退出编辑模式 -
ctrl+c
退出编辑模式 -
ctrl+[
退出编辑模式 -
gi
跳转到最后一次编辑的地方并进入编辑模式
光标移动
-
h
左 -
j
下 -
k
上 -
l
右 - 光标单词之间移动,大写表示以空格为分隔符
-
w/W
跳转到下一个单词开头 -
e/E
跳转到下一个单词末尾 -
b/B
跳转到上一个单词开头
-
常用编辑命令
-
x
相当于del -
X
相当于backspa -
dd
删除光标当前行 -
ndd
n 为数字。删除光标所在的向下 n 行,例如 20dd 则是删除 20 行 (包含光标所在行) -
yy
复制光标当前行 -
nyy
n 为数字。复制光标所在的向下 n 行,例如 20yy 则是复制 20 行 -
p
将已复制的数据在光标下一行粘贴 -
P
粘贴游标上一行! -
u
撤销 -
ctrl+r
重做
分屏
-
vs
竖直分屏 (vertical split) -
sp
水平分屏 (split) -
:qa
退出分屏
文本查找与替换
- 文本替换
:% s/xxx/bbb/g
,将xxx替换为bbb,g表示全局替换
块状选择
- 进入
visual
模式可进行块状选择-
v
输入v后按方向键可对选中的代码块进行操作,例如按d删除选中的代码块 -
V
输入V后会自动选中当前行,按住方向键可往下继续选中,按d删除选中的代码块
-
设置行号
-
:set nu
设置行号 -
:set nonu
取消设置行号
reference linux-vim