vim基础操作
vim三种模式
-
命令模式(Command mode)首次进入
vim即命令模式,输入命令可进行相应的操作- 输入
i切换到输入模式 -
x删除光标当前字符 - 输入
:切换到底线命令模式
- 输入
-
编辑模式(Insert mode)按esc退出编辑模式
-
底线命令模式(Last line mode)命令模式下输入:进入底线命令模式-
:wwrite 保存 -
:qquite 退出 -
:q!quite 强制退出不保存 -
:wq强制保存并退出,一定会强制更新文件的修改时间 -
:x保存并退出,如果文件没有发生变化,那么不会更新文件的修改时间
-
vim进阶操作
进入编辑模式的几种命令
-
iinsert 进入编辑模式,在当前字符前插入 -
aappend 进入编辑模式,在当前字符后追加 -
oopen 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删除光标当前行 -
nddn 为数字。删除光标所在的向下 n 行,例如 20dd 则是删除 20 行 (包含光标所在行) -
yy复制光标当前行 -
nyyn 为数字。复制光标所在的向下 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