环境变更
命令 | 功能 |
---|---|
:set nu | 显示行号 |
:set nonu | 取消行号 |
:set ff=unix | 换行设为unix格式(解决windows文件在linux中换行显示为^M) |
编辑
命令 | 功能 |
---|---|
:wp | 保存退出 |
:w | 保存 |
:q | 退出 |
:q! | 强制退出 |
i | 插入模式,当前前面插入 |
I | 插入模式,当前行第一个非空字符处开始插入 |
a | 插入模式,当前后面插入 |
A | 插入模式,当前行最后字符插入 |
o | 插入模式,下方新建一行并插入 |
O | 插入模式,上方新建一行并插入 |
r | 取代模式,取代当前字符一次 |
R | 取代模式,一直往后取代 |
移动光标
命令 | 功能 |
---|---|
h, j, k, l | ⬅️⬇️⬆️➡️ |
+ | 移动到非空的下一行 |
- | 移动到非空的上一行 |
[数字]h/j/k/l/+/- | 重复移动[数字]格/行 |
n<space> | 向右移动n个字符 |
n<enter> | 向下移动n行 |
0 | 到当前行首 |
$ | 到当前行尾 |
G | 到最后一行 |
nG | 移动到第n行 |
gg | 到第一行 |
w | 往后移动一词 |
b | 往前移动一词 |
删除、复制、粘贴
命令 | 功能 |
---|---|
x, X | x向后删一个字符,X向前删一个字符 |
nx | 向后连续删n个字符 |
dd | 剪切当前行 |
ndd | 删除当前往下n行 |
d1G | 删除当前行到第一行 |
dG | 删除当前行到最后一行 |
d$ | 删除当前行到最后一行 |
d0 | 删除当前到行首 |
dw | 删除当前单词 |
p, P | 粘贴到下一行/上一行 |
yy | 复制当前行 |
nyy | 复制当前往下n行 |
y1G | 复制当前行到第一行 |
yG | 复制当前行到最后一行 |
y$ | 复制当前到行尾 |
y0 | 复制当前到行首 |
J | 当前行与下一行合并 |
u | 撤销 |
[ctrl]+r | 重做 |
. | 重复前一个动作 |
搜索
命令 | 功能 |
---|---|
/word | 往后搜索 |
?word | 往前搜索 |
n | 重复上个搜索 |
N | 反向重复上个搜索 |
替换
命令:
:{作用范围}s/{查找目标}/{替换成}/{替换标志}
作用范围:
格式 | 含义 |
---|---|
为空 | 当前行 |
% | 全文 |
'<,'> | visual模式下的选区 |
3,8 | 3到8行 |
.,+3 | 当前行和接下来3行 |
替换标志:
格式 | 含义 |
---|---|
为空 | 只替换当前位置起的下一个 |
g | 符合的全部替换 |
i | 大小写不敏感 |
I | 大小写敏感 |