![在 VIM 中删除 Word 文本对象](https://linux22.com/image/49396/%E5%9C%A8%20VIM%20%E4%B8%AD%E5%88%A0%E9%99%A4%20Word%20%E6%96%87%E6%9C%AC%E5%AF%B9%E8%B1%A1.png)
在光标位于 上(word (first-Word second-Word))
打字的表达式中,我得到了当我只想删除 Word 时的信息。在将光标放在原始表达式中输入时,我再次遇到我只想删除该单词的情况。我预计修饰符只会删除 Word 文本对象,而不删除周围的空格或括号。我怎样才能得到我想要的行为?diW
f
(word second-Word))
first-Word
diW
s
(word (first-Word
i
答案1
B
像,之类的大写动作E
会W
在一系列由空格分隔的非空白字符上移动。除非您愿意重新映射我不推荐的那些键,否则这是无法更改的。
小写字母动作(例如b
,,, e
)w
在选项定义的字符序列上移动iskeyword
。这意味着如果你添加-
到iskeyword
set iskeyword+=-
daw
如果您的光标位于f
或上,您只需按一下即可实现您的目标s
。
或者你可以调用
setlocal iskeyword+=-
如果您希望定义的修改是缓冲区本地的。
欲了解更多信息,请参阅:h word
。