文章目录

        • 移动:
        • 插入/删除:
        • 跳转:
        • 复制/粘贴:
        • vim高级组合:
        • 查找:
        • 替换:

移动:

含义
h
j
k
l
Shif + ^移到行首
Shif + $移到行末

插入/删除:

含义
i光标所在插入
a光标会移动到下一个字符插入
o新插入一行插入
yaw复制一个单词
daw删除一个单词
yy复制一行
dd删除一行
x删除一个字符,可以加上数字删除多个12x
d$删除当前行光标后所有字符
dG删除光标之后所有行
d^删除当前行光标到行首所有字符

跳转:

快捷键含义
gg跳转到文件第一行
G跳转到文件最后一行
<行数>gg/G跳转到指定行数,例如 12gg或者12G 代表跳转到 12 行
ctrl+f/F跳转到下一页
ctrl+b/B跳转到上一页
ctrl+d/u向上或向下跳转半页

复制/粘贴:

快捷键功能
d + motion剪切选定文本内容
y + motion复制选定文本内容
p/P粘贴到光标前/后
u撤销
Ctrl+r恢复之前撤销操作

vim高级组合:

[count]+operator+[count]+motion

e.g.

2w 正向移动两个单词词首

查找:

  • 正向扫描:/搜索内容
  • 反向扫描:?搜索内容
  • 大小写敏感:/搜索内容\C
  • 大小写不敏感:/搜索内容\c

替换:

R 进入替换模式

substitute:

替换公式::[range]s[ubstitute]/{pattern}/{string}/[flags]

flag选项

g全局替换global(也只是针对当前行全局而非全文)
c每次替换前需要确认confirm
e没有匹配项时不显示错误error
i表示忽略大小写ignore
I表示区分大小写

range:

选项含义备注
%执行范围:全局这个才是真正意义上的全局
n,mn到m 行替换:12,33s/time/ting/g
$最后一行:12,$s/time/ting/g
n;/pattern/n行到下一个匹配patter行:12;/ting/time/ting/g

更多推荐

vim简单操作