我想要一个vi命令,它将从光标的位置替换为给定的标记。例如,以
开头 word blah blah =(
如果我将光标定位在word
之后的空格处,以便能够替换光标和等号之间的所有内容,例如#,
获得
word#(
我敢肯定,如果我能理解this thread,我可以理解它,但那个线程比我需要的要复杂得多。
答案 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=
从光标删除,直到第一个=
(包括),并将您置于插入模式。