vim常用技巧之点号范式
2016-04-19
#vim常用编辑技巧#
本篇主要介绍一些VIM中常用的编辑技巧,希望可以帮助大家提高一点VIM的使用技巧
##行内快速查找替换之 ;. 的组合使修改可重复
编码时经常会有下面这样的修改:
string = "test1"+"python"+"result";
希望在+号前后能够加上空格
string = "test1" + "python" + "result";
我们常用的按键操做基本上是:
- f+
- x
- i->进入编辑模式
- 输入: " + "
- Esc ->退出编辑模式
然后再次重复1~5步骤。
这样操作按键较多并且效率也低。
这里介绍一个技巧: **;**与 . 的组合操作
- f+
- s ->进入插入模式,并且删除 + 号
- 输入: " + "
- Esc ->退出编辑模式
- ;.
简要说明下各个命令的功能:
f+ : 行内查找 + 号
s : 会把2,3,4操作合并为一个
; : 会定位到下一个查找的字符位置
**点号 . ** : 会重复执行上一次的修改
快速替换某个单词
例:
test python, perl is good. test perl. start perl. make perl.
这段文本中有很多perl单词,
如果想把perl替换为python,方法如下:
- 把光标定位在perl下
- *
- cwpython
- ESC >退出编辑模式
- n
- 点号 .
##构造可重复的反向修改##
下面这段文字,假设光标已经位于行尾处的字符 ‘n’上,而我们想删除单词“python”。
perl is good. start perl. make python
常用的删除方法一般为: b + dw
那么,当我们想重复这个反向删除一个单词的动作时怎么办?
是的,我们有强大的 . 号。
等等,如果我们用 . 号会发生什么事情?
是的,没错。此时用 . 号重复的只是 dw 这个动作。
怎么办?请使用 ** daw **
daw不仅会反向删除一个单词,它还会删除一个空格,因此光标会停在前一个单词的最后一个字符上。
因此,当我们用 . 号时,完美的实现了反向删除一个单词的动作重复。