vim 替换
命令格式 | 说明 | 备注 |
基本替换 | ||
:s/str1/str2/ | 替换当前行第一个str1为str2 |
|
:s/str1/str2/g | 替换当前行所有str1为str2 | 个人而言较为常用 |
:n,$s/str1/str2/ | 替换第 n 行开始到最后一行中每一行的第一个str1为str2 | (n 为数字,当 n 为 . 时,表示从当前行开始到最后一行) |
:n,$s/str1/str2/g | 替换第 n 行开始到最后一行中每一行所有str1为str2 | |
:%s/str1/str2/ | 替换每一行的第一个str1为str2 | 等同于 :g/str1/s//str2/ |
:%s/str1/str2/g | 替换每一行中所有str1为str2 | 等同于 :g/str1/s//str2/g |
使用+作为分隔符,其替换与被替换的字符串中可以有 "/", "/" 不会被作为分隔符中 | ||
:%s+str1+str2+ | 替换每一行中所有str1为str2,str1 和 str2 中可以有"/" |
|
:5,15s/dog/cat/g | 替换5 - 15 行中的所有 |
|
vim 删除
命令 | 说明 | 备注 |
d$ 或 D | 从当前位置删除到行尾 ("d$" 的缩写) |
|
d^ | 删除至行首 |
|
dd | 删除整行 |
|
dw | 删除一个单词(不适用中文) |
|
dG | 删除到文档结尾处 |
|
d1G | 删至文档首部 |
|
vim 插入模式
命令 | 说明 | 备注 |
i | 在当前字符的左边插入 |
|
I | 在当前行首插入 |
|
a | 在当前字符的右边插入 |
|
A | 在当前行尾插入 |
|
o | 在当前行下面插入一个新行 |
|
O | 在当前行上面插入一个新行 |
|
Go | 最后插入一空行 |
|
GO | 倒数第二行插入一空行 |
|
ggo | 第二行插入一空行 |
|
ggO | 首行插入一空行 |
|
vim 复制/粘贴
命令 | 说明 | 备注 |
yy | 复制当前行 |
|
nyy | n表示大于1的数字,复制n行 |
|
yw | 从光标处复制至一个单子/单词的末尾,包括空格 |
|
ye | 从光标处复制至一个单子/单词的末尾,不包括空格 |
|
y$ | 从当前光标复制到行末 |
|
y0 | 从当前光标位置(不包括光标位置)复制之行首 |
|
y3l | 从光标位置(包括光标位置)向右复制3个字符 |
|
y5G | 将当前行(包括当前行)至第5行(不包括它)复制 |
|
y3B | 从当前光标位置(不包括光标位置)反向复制3个单词 |
|
p 或者快捷键 (本人Ctrl+ Shift + v) | 粘贴到当前光标位置 |
|
欢迎补充