Vim中的文本对象(在文本对象之间移动)

时间:2015-08-23 15:05:54

标签: vim macvim

我有两个字:

word1  word2

我做:

c2iw   

改变整个世界,但它没有用,选择时也是如此:

v2iw

4 个答案:

答案 0 :(得分:3)

它有效,但你需要计算 i w 命令,而不是单词。如果光标位于空格上, v i w 选择单词之间的空格。在您的情况下,第一个 i w 将引用第一个单词,第二个单词指向单词之间的空格,第三个单词指向第二个单词。因此,您需要 c 3 i w v 3 < / KBD> 瓦特。不能责怪Vim过于一致。 :)

答案 1 :(得分:1)

iw涵盖word1word2,但它也涵盖了两者之间的空白:

word1 word2
-----          iw
------         2iw
-----------    3iw

因此正确的命令是:

<operator>3iw

或:

3<operator>iw

答案 2 :(得分:1)

首先,您需要跳转到下一个文本对象。 您可以使用e。

执行此操作
e

下一步是更改下一个单词。

c2e

更改接下来的两个文本对象。 选择它们:

v2e

答案 3 :(得分:0)

正如其他人所指出的那样,iw运动也将空间视为单词。所以,如果你不想对这些空间感到困扰并按照你所知道的那样单词,请使用aw动作。

所以,而不是这样做:

c3iw
v3iw

这样做:

c2aw
v2aw

然后Vim不会将空格字符视为单词。