一 、. 的技巧(重复上一次修改)
>G 将当前行到文档末尾处的缩进层级。如果在此命令后使用 . 命令。那么重复上次修改会让Vim增加从当前行到文档末尾的缩进层级。
技巧:每行末尾插入;号
输入A; 然后ESC 之后 j. 即可重复增加每行末尾的 ; 号
从普通模式切换到插入模式
复合命令 | 等效的长命令 |
---|---|
C | c$ |
s | cl |
S | ^C |
I | ^i |
A | $a |
o | A |
O | ko |
技巧:f{char} 让VIm查找下一处指定字符出现的位置,如果找到了,就直接把光标移到那里(参见 :h f); 号命令会重复查找上次 f 命令所查找的字符。
1+2+3+4+5
将加号两边各加一个空格以美化格式
f+ 找到第一个+号 输入s空格 加号 空格 "s + " ESC 退出编辑模式 ;. 即可 ;号查找下一个+ .重复上一次修改
可重复操作及如何回退
目的 | 操作 | 重复 | 回退 |
做出一个修改 | {edit} | . | u |
在行内查找下一个指定字符 | f{char}/t{char} | ; | , |
在行内查找上一指定字符 | F{char}/T{char} | ; | , |
在文档内查找下一处匹配项 | /pattern | n | N |
在文档内查找上一处匹配项 | /pattern | n | N |
执行替换 | :s/target/replacement | & | u |
执行一系列修改 | qx{changes}q | @x | u |
技巧:查找和替换,将光标移动到单词首字母处,按*键将查找此单词,如需高亮显示:set hls
cw{要替换的单子}ESC ,即可执行完一次替换,n键查找下一处 . 命令重复上一次修改,即可按需替换
操作符 + 动作命令 = 操作
操作符与动作命令的结合形成了一种语法。这种语法的第一条规则很简单,即一个操作由一个操作符,后面跟一个动作命令组成。Vim的语法只有一条额外规则,即当一个操作符命令被连续调用两次时,它会作用于当前行。所以dd删除当前行,而 >> 缩进当前行,gU命令是特殊情况,我们即可以用gUgU,也可以简化版的gUU来使用它作用于当前行。
vim的操作符命令
命令 | 用途 |
c | 修改 |
d | 删除 |
y | 复制到寄存器 |
g~ | 反转大小写 |
gu | 转换为小写 |
gU | 转换为大写 |
> | 增加缩进 |
< | 减小缩进 |
= | 自动缩进 |
! | 使用外部程序过滤{motion}所跨越的行 |
技巧:输入表达式直接出计算结果。ctrl + r 然后按 = 号 后面输入算术表达式 然后回车 会在光标处直接显示计算结果
技巧:更改变量名,光标移动至变量名上 按 * 键 cw更改后名称 按 ESC,命令行模式 :%s//ctrl+r ctrl+w/g 即可:
技巧:快速注释默写行,按CTRL + V 键 进入块可视化模式,选择需要注释的行,按 I # 即可。同理 按 x键即可删除注释。gv 可以快速选择上次的块可视化模式高亮区域。
用动作命令在文档中快速移动
可以看Vim文档 :h motion.txt