Vim 中的文本对象(在文本对象之间移动)
text object in Vim (moving between text object)
我有两个字:
word1 word2
我愿意:
c2iw
用于改变两个整个世界但它不起作用并且选择相同:
v2iw
有效,但你需要计算iw命令,而不是单词。如果光标在 space 上,viw 选择 spaces 在单词之间。在您的情况下,第一个 iw 将引用第一个单词,第二个单词将引用单词之间的 space(s),第三个是第二个字。因此,你需要 c3iw 和 v3iw。不能因为过于一致而责怪 Vim。 :)
iw
覆盖了 word1
和 word2
但它也覆盖了两者之间的空白:
word1 word2
----- iw
------ 2iw
----------- 3iw
正确的命令是:
<operator>3iw
或:
3<operator>iw
首先您需要跳转到下一个文本对象。
您可以使用 e.
e
下一步是更改接下来的两个词。
c2e
更改接下来的两个文本对象。
选择它们:
v2e
正如其他人指出的那样,iw
议案也将 space 视为文字。所以,如果你不想被那些 space 打扰并以你所知道的 单词为目标 ,请使用 aw
动作。
所以,与其这样做:
c3iw
v3iw
只需这样做:
c2aw
v2aw
那么Vim就不会把space这个字符当成一个词
我有两个字:
word1 word2
我愿意:
c2iw
用于改变两个整个世界但它不起作用并且选择相同:
v2iw
有效,但你需要计算iw命令,而不是单词。如果光标在 space 上,viw 选择 spaces 在单词之间。在您的情况下,第一个 iw 将引用第一个单词,第二个单词将引用单词之间的 space(s),第三个是第二个字。因此,你需要 c3iw 和 v3iw。不能因为过于一致而责怪 Vim。 :)
iw
覆盖了 word1
和 word2
但它也覆盖了两者之间的空白:
word1 word2
----- iw
------ 2iw
----------- 3iw
正确的命令是:
<operator>3iw
或:
3<operator>iw
首先您需要跳转到下一个文本对象。 您可以使用 e.
e
下一步是更改接下来的两个词。
c2e
更改接下来的两个文本对象。 选择它们:
v2e
正如其他人指出的那样,iw
议案也将 space 视为文字。所以,如果你不想被那些 space 打扰并以你所知道的 单词为目标 ,请使用 aw
动作。
所以,与其这样做:
c3iw
v3iw
只需这样做:
c2aw
v2aw
那么Vim就不会把space这个字符当成一个词