vim常用技巧之点号范式

󰃭 2016-04-19

#vim常用编辑技巧#

本篇主要介绍一些VIM中常用的编辑技巧,希望可以帮助大家提高一点VIM的使用技巧

##行内快速查找替换之 ;. 的组合使修改可重复

编码时经常会有下面这样的修改:

string = "test1"+"python"+"result";

希望在+号前后能够加上空格

string = "test1" + "python" + "result";

我们常用的按键操做基本上是:

  1. f+
  2. x
  3. i->进入编辑模式
  4. 输入: " + "
  5. Esc ->退出编辑模式

然后再次重复1~5步骤。

这样操作按键较多并且效率也低。

这里介绍一个技巧: **;**与 . 的组合操作

  1. f+
  2. s ->进入插入模式,并且删除 + 号
  3. 输入: " + "
  4. Esc ->退出编辑模式
  5. ;.

简要说明下各个命令的功能:

f+ : 行内查找 + 号

s : 会把2,3,4操作合并为一个

: 会定位到下一个查找的字符位置

**点号 . ** : 会重复执行上一次的修改

快速替换某个单词

例:

test python, perl is good. test perl. start perl. make perl.

这段文本中有很多perl单词,

如果想把perl替换为python,方法如下:

  1. 把光标定位在perl下
  2. *
  3. cwpython
  4. ESC >退出编辑模式
  5. n
  6. 点号 .

##构造可重复的反向修改##

下面这段文字,假设光标已经位于行尾处的字符 ‘n’上,而我们想删除单词“python”。

perl is good. start perl. make python

常用的删除方法一般为: b + dw

那么,当我们想重复这个反向删除一个单词的动作时怎么办?

是的,我们有强大的 . 号。

等等,如果我们用 . 号会发生什么事情?

是的,没错。此时用 . 号重复的只是 dw 这个动作。

怎么办?请使用 ** daw **

daw不仅会反向删除一个单词,它还会删除一个空格,因此光标会停在前一个单词的最后一个字符上。

因此,当我们用 . 号时,完美的实现了反向删除一个单词的动作重复。