我在文件中有这样的一行
<echo>The app vendor is... app.server.name</echo>
将光标放在“服务器”中的“r”上,如何在不进入可视模式的情况下抽出“app.server.name”,或者不必猜测要抽出的单词数量。
yiw
只会在句点之间拉出这个词。
答案 0 :(得分:20)
Byt<
B
(让你到达标点符号的开头)
yt<
(向前猛冲,但不包括“&lt;”)。
答案 1 :(得分:11)
:se iskeyword+=46
现在 y i w 会做你想做的事情:)
正如Benoit所提到的,上述可能是你不想要的副作用 1
In an earlier answer(vim: select inside dots)我描述了如何对文本对象进行definte以选择内部点(如下所示)。您可以使用它作为基础来定义一个类似的文本对象,用于选择包含点的单词:
这不需要对iskeyword
设置进行任何更改 :)
<子> 子>
xnoremap <silent>. f.oT.o xnoremap <silent>a. f.oF.o xnoremap <silent>i. t.oT.o onoremap <silent>. :<C-u>exec 'normal v' . v:count1 . '.'<CR> onoremap <silent>a. :<C-u>exec 'normal v' . v:count1 . 'a.'<CR> onoremap <silent>i. :<C-u>exec 'normal v' . v:count1 . 'i.'<CR>
以下缓冲区内容的示例(字母
w
上的光标):someobject.some-property-with-hyphens.SUB.otherproperty
- v 。在视觉模式中选择
some-property-with-hyphens.
- v a 。在视觉模式中选择
.some-property-with-hyphens.
- v i 。在视觉模式中选择
some-property-with-hyphens
动作可以链接并接受
count
:
- v 。 。在视觉模式中选择
some-property-with-hyphens.SUB.
- v 2。 在视觉模式中选择
some-property-with-hyphens.SUB.
- v 2 a 。在视觉模式中选择
.some-property-with-hyphens.SUB.
- v 2 i 。在视觉模式中选择
some-property-with-hyphens.SUB
您可以将运算符用作任何编辑命令的运算符:
- d 。产生
someobject.SUB.otherproperty
- c i 。 短名称会产生
someobject.shortname.SUB.otherproperty
- c 2 。 get(“结果为
someobject.get("otherproperty
在
与光标一起开始并不重要。请注意,为方便起见,所有可视模式映射都将光标定位在选择的末尾(因此您可以通过例如 %
和其他动作继续扩展选择。)
1 在此处查看一些背景信息:vim: select inside dots