如何在vim中选择一个单词时包含句点?

5

假设我在代码中调用一个对象的方法,比如说:

if abc.xyz then foo

我的光标在'abc'中的'c'上,我想将abc.xyz更改为其他内容。如果我键入ciw,我只会替换'abc'。我应该使用什么代替iw来选择整个'abc.xyz'?


2ciw,选择两个单词? - Marc B
请参见https://dev59.com/xlzUa4cB1Zd3GeqP5KIn。 - glts
@MarcB 好的点子!实际上是 3ciw,句号算作一个单词。 - Chris Doyle
2个回答

9

使用W仅用空格字符分隔单词,它将选择整个字符串:

ciW

太棒了!这将使我的生活变得更加轻松。我还有另一个稍微复杂一些的情况想问:与上面相同,但代码是 if (abc.xyz == "123"),我不想选择开括号。 - Chris Doyle
@ChrisDoyle:针对这种新情况,请查看perreal的答案。 - Birei

6

iskeyword 选项 中包含 .

set iskeyword=@,48-57,_,192-255,.

3
最好只需添加到默认值::set iskeyword+=.; 并且我不会全局设置它,而是(使用:setlocal)仅适用于特定的文件类型(在~/.vim/after/ftplugin/<filetype>.vim中)。 - Ingo Karkat

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接