我们说我有字符串
hello how-ar[]e-you doing
其中[]
是我的光标。我如何有效地选择how-are-you
这样
hello [how-are-you] doing
到目前为止,我能提出的是Bvt<space>
答案 0 :(得分:10)
Vim有“word”和“WORD”的概念,其中“word”是'iskeyword'
选项中的一系列字符,而“WORD”是一系列非空白字符。
...因此
w
动作(“单词”)会在-
之后跳转到are
,因为-
不属于'iskeyword'
,W
动作(“WORD”)会跳转到doing
,iw
文字对象(“内部字”)将涵盖are
,iW
text-object(“内部WORD”)将覆盖how-are-you
,您要找的是iW
文字对象:
viW
:help navigation
会让你大吃一惊。
答案 1 :(得分:6)
除了其他答案(使用Word而不是单词),如果您希望这是默认行为(这样-
将被视为单词字符 - 而不是单词分隔符)您可以将其添加到您的vimrc
set iskeyword+="-"
之后viw
会给你预期的结果。
输入:h iskeyword
了解更多信息