假设我有字符串
hello how-ar[]e-you doing
Run Code Online (Sandbox Code Playgroud)
[]我的光标在哪里 我将如何有效地选择how-are-you这样的
hello [how-are-you] doing
Run Code Online (Sandbox Code Playgroud)
到目前为止,我能想到的是 Bvt<space>
rom*_*inl 10
Vim有"word"和"WORD"的概念,其中"word"是'iskeyword'选项中的字符序列,"WORD"是非空白字符序列.
从而…
w("字")将跳转到运动-后are,因为-不是的一部分'iskeyword',W议案("WORD")将跳转到doing,iw文本的对象("内字")将包括are,iW文本的对象("内WORD")将包括how-are-you,你要找的是iW文本对象:
viW
Run Code Online (Sandbox Code Playgroud)
:help navigation 会打击你的想法.
除了其他答案(使用Word而不是单词),如果您希望这是默认行为(这-将被视为单词字符 - 而不是单词分隔符),您可以将其添加到您的vimrc
set iskeyword+="-"
Run Code Online (Sandbox Code Playgroud)
之后viw会给你预期的结果.输入:h iskeyword有关它的更多信息