vim搜索并从游标的当前位置替换为指定的标记

时间:2016-10-28 16:53:22

标签: search vim replace

我想要一个vi命令,它将从光标的位置替换为给定的标记。例如,以

开头
 word  blah blah     =(

如果我将光标定位在word之后的空格处,以便能够替换光标和等号之间的所有内容,例如#, 获得

  word#(

我敢肯定,如果我能理解this thread,我可以理解它,但那个线程比我需要的要复杂得多。

2 个答案:

答案 0 :(得分:4)

尝试以下方法:

cf=#<esc>

c命令是&#34;更改&#34;,它会删除文本并使您进入插入模式。它像其他所有操作员一样需要一个动作。 f=是一种动作,可将光标跳转到下一次出现的&#39; =&#39;。这适用于任何其他角色,例如,fa将跳转到下一个&#39; a&#39;,fb将跳转到下一个&#39; b&#39;等之后,您最终处于插入模式,并可以输入#。然后点击<esc>返回正常模式。

你可以用更高级的标记来做同样的事情&#34;使用/foo代替f=。例如,如果您想要在下次出现=(之前更改,而不是下一次出现=,那么您可以

c/=(<cr>#<esc>

答案 1 :(得分:3)

除非光标和所需的=之间还有其他=个字符,否则您可以使用cf=#<Esc>

cf=从光标删除,直到第一个=(包括),并将您置于插入模式。