请问有 V 友研究过 vim 普通模式里 (,),{,},[[,]],[],][ 这些移动具体的粒度是怎么回事儿有什么不同吗?

2021-08-08 16:48:11 +08:00
 Newyorkcity
或者分享一下看到过的好的资料?

多谢
1622 次点击
所在节点    Vim
5 条回复
IgniteWhite
2021-08-08 17:05:07 +08:00
请在 Vim 输入
:h object-motions
即可以看到以下关于 text object motions 的帮助文档:
http://vimdoc.sourceforge.net/htmldoc/motion.html#object-motions

里面写的很清楚。简单的说,小括号大括号方括号分别对应句子段落小节。

有些插件,比如 VimTeX,会根据 TeX 的 section 来魔改方括号的定义,方便在 TeX 里面前后移动。这些知识统称 text object,在 Vim 里你甚至可以自定义 text object 的样子(或者用别人做好的插件),实现最适合自己的功能。
IgniteWhite
2021-08-08 17:10:00 +08:00
补充一下,Vim 默认的方括号跳转的“小节 section”是用大括号括起来的 section,就是说会跳转到方括号上。这个默认选项是为了 C 语言设计的。
IgniteWhite
2021-08-08 17:10:52 +08:00
@IgniteWhite 纠正 2 楼,应该是“就是说会跳转到大括号上”
Newyorkcity
2021-08-08 18:23:05 +08:00
@IgniteWhite 不过这个用在代码里,几乎没有,和.的场景是不是都一样或者有些畸变?我按网上的一些中文资料的说法在代码里试了试,就感觉很怪。
IgniteWhite
2021-08-08 19:31:34 +08:00
@Newyorkcity 你把一楼的文档看一下,里面说的很清楚。我展开说无非是给你翻译了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/794421

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX