vim学习之以退为进——可反复移动和可反复改动的美妙结合

时间:2014.06.29

地点:基地

----------------------------------------------------------------------------------

一、任务1:使改动可反复

  在指定字符前后各加入一个字符。比方在连接字符串的 + 号操作前后均流出一个空格( [ ]+[ ] )

我们知道 s命令能够删除光标下的字符进入插入模式,如今我们还能够总结一下进入插入模式的几种方式:

1. i 命令:当前光标前插入   

2. a命令:当前光标后插入

3. s命令:当前光标下删除后插入

4.大写i命令:当前光标所在行首插入

5.大写a命令:当前光标所在行尾插入

6.大写S命令:删除当前光标所在行插入

7. dd命令:不过删除当前行,不会进入插入模式

于是小s命令可删除光标下的字符进入插入模式后的功能后,为了完毕任务我们可先运行小s命令删除光标下的字符,然后键入:空格+空格,然后退出,这样。按键集合:

[ s 空格 + 空格 Esc ]将被记录下来形成一个改动单元,于是接下来就可採用点号命令了。

如今,我们所要做的事情就是把光标移动到下一个 + 号处。然后用 . 命令反复运行这一操作。

----------------------------------------------------------------------------------

二、任务2:使移动可反复

  为了查找本行中某指定字符。我们能够使用 f{char}命令,比方 f+ 后光标将移动到下一个 +  号所在位置。

于是,我们没完毕一次改动后都能够使用 f+ 跳转到该行的下一个 + 号所在位置。可是,更好的方法是使用 。 号 命令反复查找上次f命令所查找的字符。于是就不是必需多次输入 f+  了。

----------------------------------------------------------------------------------

三、综合上述两种移动和改动模式

  通过上面,我们知道 ;命令可帮我们定位到下一个目标字符上。而 . 命令可反复上次改动,这样我们配合使用 ;. 就可完毕将 + 号改动成 [ ]+[ ]了。

如今比方有一行这种代码:

string str="You"+"are"+"my"+"world";
我们想将 + 号所有改为 [ ]+[ ] 。过程例如以下:

1.先 f+  光标定位到第一个 + 号

2.小s命令。删除光标下的+ 号字符 进入插入模式。然后键入: [ ]+[ ]

3.Esc退出改动

4.使用 ;号命名反复上次查找,将光标定位

5.使用 . 号命令反复上次改动

6.不断反复步骤4和5,直到改动完为止。


【推广】 免费学中医,健康全家人
原文地址:https://www.cnblogs.com/ldxsuanfa/p/10622730.html