vim实用技巧
第一章 vim解决问题的方式
. 重复上次的修改
技巧1 结识.命令
在普通模式 只匹配最近的一次修改 例如 x删除 dd删除整行 或者 >缩进
在插入模式,从进入插入模式的那一刻起,直到返回普通模式时为止,vim会记录每个按键操作。做出这样一个修改后再用. 命令时,会重新执行所有按键操作。
.命令时一个微型的宏
vim可以录制任意数目的按键操作。
技巧2 不要自我重复
每行后面加;
1. A;<ESC>
2. j.
如果行数较多则 在指定范围上执行普通模式命令
如果想在一系列连续行上执行一条普通模式命令 可以用:normal命令 与.命令结合使用
比如从第1行到第15行 行尾均加;
则用命令如下:
1. A;<ESC>
2. JV15G
3. :'<,'>normal .
上面的第3条命令可以解读为 对高亮选区中的每一行 对其执行普通模式下的.命令。
技巧3 以退为进
passwd文件:的前后加空格
1. f+ 查找本行光标后第一个+
2. s : <ESC> s为删除光标处的内容 再插入 space :space ESC退出
3. ; 向后查找1中提出的字符
4. . 执行2命令
5. ; .
6. ; .
技巧4 执行、重复、回退
{edit} . u
f{char}/t{char} ; ,
F{char}/T{char} ; ,
/pattern<CR> n N
?pattern<CR> n N
:s/target/replacement & u
:s/target/replacement & u
qx{changes}q @x u
技巧5 查找并手动替换
专用命令 :substitute
1. * 命令为查找当前光标下的单词
2. cwcopy<ESC> cw会删除从光标位置到单词结尾间的字符 changes word “****” <ESC>
3. n
4. .
同时也可以用 :%s/:/+/g 将文件中的所有:改变为+
如果没有% 则只改变当前行
如果有% 所有匹配的地方均改变
技巧6 结识 . 范式
即 用一键移动光标,另一键执行 为理想模式