【发布时间】:2013-06-13 19:18:28
【问题描述】:
我正在使用 Vim 编辑 C 代码,我喜欢使用 c<movement> 快速更改文件的某些部分。特别是,我发现像 c2W 这样的东西对于“更改两个以空格分隔的单词”很有用。
但有一个用例让我无法理解:当我的光标位于单词的最后一个字符时,命令 cb, "change back a word," 不会删除我想要删除的单词的最后一个字符编辑。这是有道理的,因为从技术上讲,光标在最后一个字符之前,但这不是我想要的。
以下是发生的情况,光标由| 指示:
开始于:
This is just a typ|ical series of words
我想将“典型”更改为“不同”。我按e:
This is just a typica|l series of words
然后cb:
This is just a |l series of words
现在剩下一个悬空的l(小写L,要清楚)!那不是我想要的。
更精明的你们已经注意到,在这个例子中我可以简单地使用bcw 的组合,这会将我的光标放在单词的开头之前,然后更改整个单词。真的!但是,如果我想将“单词”更改为“字符串”怎么办?
开始于:
This is just a typ|ical series of words
我想将“单词”更改为“字符串”。我按$:
This is just a typical series of word|s
同样的问题!按cb 会留下一个挂起的“s”(尽管在这个例子中这很好,因为“strings”无论如何都以“s”结尾)。当然,我可以按bcw,但这是一个额外的键,因此是不可接受的。
我只能忍受这种难以置信的困难吗?
【问题讨论】:
标签: vim