微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

vim:选择里面的点

我无法找到解决方案(这里和网上),只需选择/插入/删除由点包围的东西(开发中常见的情况):
someobject.some-property-with-hyphens.otherproperty

如何选择中间物业?

我试过了 :

vi.  (dot is for executing last command)
    viw  (don't include hyphens)
    4viw (still nop)
    vis  (select full line)

编辑:更常见的例子(在javascript中)

app.object['key'].$object_with_a_dollar_sign.function()
我怀疑这里的真正问题是连字符不被认为是标识符的一部分

你应该尝试添加

:se iskeyword+=-

为您的文件类型.这样,viw将会真正地做出你想要的

要使这个设置自动为例如奇怪的文件

:autocmd BufReadPost *.strange se isk+=-

将该行添加到您的vimrc(:e $MYVIMRC)中,您将永远不必考虑添加iskeyword设置.另请参见:他的模型是为每个文件设置此设置的替代方法

更新更纯净的解决方案将创建您自己的operator-mapping.

一个快速的草稿,这似乎对我很好:

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.选择一些属性与连字符.在视觉模式
> va选择.some-property-with-连字符.在视觉模式
> vi.在视觉模式下选择一些属性连字符

动作可以链接并接受计数:

> v ..选择some-property-with-hyphens.SUB.在视觉模式
> v2.也选择一些属性与连字符.SUB.在视觉模式
> v2a.选择.some-property-with-hyphens.SUB.在视觉模式
> v2i.在视觉模式下选择一些连字符

您可以将运算符作为运算符用于任何编辑命令:

> d.导致某些对象.其他属性
> ci.shortname导致someobject.shortname.SUB.otherproperty
> c2.get(“results in someobject.get(”otherproperty

光标所在的“点划分标识符”中的哪里不要紧.请注意,为了方便起见,所有视觉模式映射将光标定位在选择结束处(因此您可以继续扩展选择,例如%和其他动作).

原文地址:https://www.jb51.cc/vim/385147.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐