我有一些这样的文字:
foo<space><space><space>'bar'
当我在da'
内'bar'
时,会删除空格:
foo
如何在不移除空格的情况下执行da'
,所以我得到了这个结果?
foo<space><space><space>
答案 0 :(得分:4)
我在text-objects
上的vim帮助主题中找到了这个:
i" *v_iquote* *iquote*
i' *v_i'* *i'*
i` *v_i`* *i`*
Like a", a' and a`, but exclude the quotes and
repeating won't extend the Visual selection.
Special case: With a count of 2 the quotes are
included, but no extra white space as with a"/a'/a`.
因此,执行以下操作不会删除空格。
d2i'
有关文本对象的更多帮助,请执行:help text-objects
答案 1 :(得分:2)
这涵盖在:help v_i'
:
对于“a”命令:操作符适用于对象和白色 对象之后的空间。如果对象后面没有空格 或者当光标在对象之前的白色空间中时,白色 包含对象之前的空格。
所以,问题在于你处于最后阶段。要更改行为,可以添加空格,返回,然后发出命令:A<Space><Esc>hda'
。
或者,使用内部对象,然后删除两个引号,如di'hxx
中所示。
对于引用文本对象,甚至还有一个方便的特殊情况,因此 d2i'
看起来像赢家:
Special case: With a count of 2 the quotes are included, but no extra white space as with a"/a'/a`.