我想要一个 vi 命令,它可以从光标位置替换为给定的标记。例如以
开头 word blah blah =(
如果我将光标定位在 word
之后的空格处,我希望能够用例如 # 替换光标和等号之间的所有内容,
获得
word#(
我确定我是否能理解this thread ,我可以弄清楚,但是那个线程比我需要的复杂得多。
最佳答案
尝试以下操作:
cf=#<esc>
c
命令是“更改”,它会删除文本并使您进入插入模式。就像其他运算符(operator)一样,它需要一个 Action 。 f=
是将光标跳到下一个“=”的 Action 。这适用于任何其他字符,例如 fa
将跳转到下一个'a',fb
将跳转到下一个'b',等等。之后,您将进入插入模式,并可以输入#
。 .然后点击<esc>
返回正常模式。
您可以使用 /foo
对更高级的“ token ”做同样的事情而不是 f=
.例如,如果您想在下一次出现 =(
之前进行更改而不是下一次出现 =
, 你可以做
c/=(<cr>#<esc>
关于search - vim 从光标的当前位置搜索并替换到指定的标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40309738/