如何select所有单词和引号不加白space前言?

How to select all words and quotation marks without white space foreword?

如果vim中有这样的东西: text = 'hellowo|rld'

|是光标,当我输入va'时,它会变成text =[ 'helloworld']|,注意白色的space前言也包括在内。

有没有办法排除白space前言?

呵呵,其实还有更好的办法。我检查了帮助页面 (:h i'),这确实有效:

v2i'

(我以前不知道!)来自帮助页面:

        Special case: With a count of 2 the quotes are
        included, but no extra white space as with a"/a'/a`.

您可以将其映射到您的 vimrc 中以使可视模式始终以这种方式运行(甚至其他运算符,如 yd):

vnoremap a' 2i'
vnoremap a" 2i"
vnoremap a` 2i`
onoremap a' 2i'
onoremap a" 2i"
onoremap a` 2i`

旧答案:

有点不雅,但是可以用va'ol(visual around quotes,转到visual selection的另一边,向左移动一个字符)。

如果您希望视觉模式始终 正常运行,这里有一个快速的 hack 可以完成它(将它放在您的 vimrc 中):

vnoremap a' i'loho

(就是 "inside quotes, extend one left, switch to the other side, extend one right, switch back.")