复制 | |
---|---|
yy | 复制光标所在的那一行 |
nyy | 复制光标所在的向下n行 |
粘贴 | |
p(小写) | 将已经复制的数据在光标【下】一行粘贴 |
P(大写) | 将已经复制的数据在光标【上】一行粘贴 |
删除 | |
dd | 删除一行 |
d$ | 删除以当前字符开始的一行字符 |
ndd | 删除以当前行开始的n行 |
dw | 删除以当前字符开始的一个字 |
ndw | 删除以当前字符开始的n个字 |
x | 删除当前字符 |
nx | 删除从当前字符开始向后的 n 个字符.(包含当前字符) |
nX | 删除从当前字符前的 n 个字符.(不包含当前字符) |
查找 | |
/word | 在文件中查找内容为word的字符串(向下查找) |
?word | 在文件中查找内容为word的字符串(向上查找) |
n | 表示重复查找动作,即查找下一个 |
N | 反向查找下一个(向上查找) |
关闭查找的高亮 | |
:nohlsearch | 或者 :set nohlsearch , |
:noh | 或者 :set noh |
行号 | |
:set nu | 或者 :set number , 打开行号 |
:set nonu | 或者 :set nonumber , 关闭行号 |
跳到指定行 | |
:n | 然后回车 |
gg | 跳到文件第一行 (两个小写的G) |
shift+g | 跳到文件最后一行(也就是G) |
字符串替换 | 字母 s 后的第一个符号为分隔符,可用 # 代替 , 避免 / 无法替换的问题 |
:s/aa/bb | 替换当前行中 , 第一个 aa 为 bb |
:s/aa/bb/g | 替换当前行中 , 所有的 aa 为 bb |
:m,ns/aa/bb | 替换 第 m 行到第 n 行的 (包含m和n行), 每一行的第一个 aa 为 bb |
:m,ns/aa/bb/g | 替换 第 m 行到第 n 行的(包含m和n行), 每一行的所有 aa 为 bb |
m 为 . 表示从当天行开始 , n 为 $ 表示到最后一行结束 | |
:%s/aa/bb | 替换当前文件中 , 第一个 aa 为 bb |
:%s/aa/bb/g | 替换当前文件中 , 所有 aa 为 bb |
撤销上一步操作 | |
u | 撤消上一个操作 |
[Ctrl] + r | 撤消 上一次的 u 操作 . (即撤销 上一次的撤销) |
. | 这是小数点键,重复上一个操作 |
缩进 | 插入模式 |
ctrl+shift+d | 减少缩进 |
ctrl+shift+t | 增加缩进 |
编辑模式 | |
i | 插入模式 |
r | 替换模式 |
大小写 | |
~ | 替换大小写 |
guu | 全行替换小写 |
gUU | 全行替换大写 |
网友评论