Vim实用技巧(1)——Vim解决问题的方式
Vim解决问题的方式
技巧1 认识 "." 命令
.命令可以重复上次的修改
x:删除光标下的字符dd:删除整行>G:增加从当前行到文档末尾处的缩进层级
. 命令是一个微型的宏(macro)
技巧2 不要自我重复
在行尾添加内容
- 在行尾添加字符:
$a, 输入,Esc - 使用
.命令在下一行重复:j$.,省略了a 输入 Esc
一箭双雕
使用复合命令进一步优化
A=$aj.
其他复合命令
x = dl:删除当前光标下的字符X = dh:删除当前光标左边的字符D = d$:删除到行尾的内容C = c$:修改到行尾的内容s = cl:修改一个字符S = ^C:修改一整行I = ^i:在行首插入A = $a:在行尾插入o = A<CR>:在下一行插入O = ko:在上一行插入
技巧3 以退为进
在一个字符前后各添加一个空格
- 通过
f+查找下一处"+"出现的位置,如果出现了,将光标移动到"+"处 - 利用
s命令把两个操作合为一个,用"_+_"代替"+" - 利用
;找到下一个"+",跳过头的话用,命令跳回去 - 用
.重复
技巧4 执行、重复、回退
面对重复性工作时,需要让移动动作和修改动作都能够重复
| 目的 | 操作 | 重复 | 回退 |
|---|---|---|---|
| 做出一个修改 | {edit} |
. |
u |
| 行内查找下一指定字符 | f{char}/t{char} |
; |
, |
| 行内查找上一指定字符 | F{char}/T{char} |
; |
, |
| 在文档中查找下一处匹配项 | /pattern<CR> |
n |
N |
| 在文档中查找上一处匹配项 | ?pattern<CR> |
n |
N |
| 执行替换 | :s/target/replacement |
& |
u |
| 执行一系列修改 | qx{changes}q |
@x |
u |
技巧5 查找并手动替换
- 方法一:
:%s/target/replacement/gc - 方法二:
/targetcwreplacement<Esc>n.
- 方法三:
*cwn.
技巧6 认识.范式
理想模式:一键移动,一键执行
A;<Esc>:j+.f+s:;+.*cw:n+.

浙公网安备 33010602011771号