Vim 命令:如何在正常模式下选择光标下的单词

88

我正在寻找一种Vim命令,以正常模式下选择光标下的单词,就像鼠标双击一样。是否存在这样的命令?


@pfnuesel * 选择光标下单词的下一个出现位置,因为它是一个搜索命令,而不是选择命令。 - Dan Lowe
1
@DanLowe 是的,你说得对,我删除了我的评论。但是 viw 应该可以完成工作。 - pfnuesel
这不会让你进入可视模式吗?在普通模式下选择东西是否可能? - MinusFour
1
感谢 @pfnuesel 和 @Matthew-strawbridge 回答我的问题。命令 viw 就是我在寻找的 :) - Keita
我在普通模式下将v映射到viw,以进行单键选择单词。看起来它运行良好。 - Keita
显示剩余2条评论
5个回答

145

您可以使用*和/或#搜索光标下的单词,也可以使用viw视觉选择光标下的单词。


5
我了解vw,但在可视模式下i有什么作用? - minitauros
32
在这里,“i”代表内部或里面。viw会在视觉上选择内部单词。如果您打开带有括号的文档,立即就会明白意思。然后将光标放在括号内的任何位置,并键入vi(。它将选择括号内的所有内容。这也适用于引号,例如 vi"vi'。如果您想同时选择括号(或引号),则可以使用 va((或 va")。但我不知道这里的 a 代表什么。当然,您不仅可以进行视觉选择,还可以删除(di()或复制(yi()等操作。 - pfnuesel
7
“a” 显然意味着“大约”。 - pfnuesel
1
如果您的光标位于单词中间,vw 会选择从中间到单词末尾的部分,而 viw 则会选择整个单词,即使您的光标位于单词中间也是如此。 - stackzebra
7
使用 ciw 命令可以清除光标下的单词并进入插入模式,这样你就可以开始输入新内容来替换它。 - MattCochrane
v + i + {v + i + } 选择 {} 中的内容,不包括 {}v + a + {v + a + } 选择 {} 周围的内容,包括 {} - PR7

65

viw用于在单词内进行可视化选择。类似地,yiw复制(yanks)该单词。


30

就我个人而言,我更喜欢使用 vawyaw 代替 viwyiw,因为 a 在周围。

类似的,我使用:

vat 选择标签。 va(va{ v% 选择匹配的结束标签。在其他一些地方是ev%

对我来说,这样更有意义,因为意图是选择完整的单词而不是内部内容。

最后,这一切都归结于我们个人的偏好。


15
vaw 并不完全相同。它还会选择前导或尾随的空格。 - studgeek

6
为了选中光标下的单词,我使用组合键。 但请注意,如果光标指向单词的第一个字符,您只需要使用ve组合键。

1

使用*后,如果你想在命令中使用这段文本,可以在按下:或相应的按键后使用<C-r> <C-w>技巧。


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