加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

vim:选择里面的点

发布时间:2020-12-15 18:25:33 所属栏目:安全 来源:网络整理
导读:我无法找到解决方案(这里和网上),只需选择/插入/删除由点包围的东西(开发中常见的情况): someobject.some-property-with-hyphens.otherproperty 如何选择中间物业? 我试过了 : vi. (dot is for executing last command) viw (don't include hyphens) 4viw
我无法找到解决方案(这里和网上),只需选择/插入/删除由点包围的东西(开发中常见的情况):
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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读