Vim 手册为它们提供了完全相同的描述。来自 Vim 手册:
ap: "一个段落",选择[count]个段落。例外:空行(仅包含空格)也是段落边界。在可视模式下使用时,它是按行制作的。
ip:“内段”,选择[count]个段落。例外:空行(仅包含空格)也是段落边界。在可视模式下使用时,它是按行制作的。
因此,我并不完全清楚它们之间的区别是什么。例如,假设您有命令gqap和gqip. 他们的行为有何不同?
再一次,仅仅:help ap因为有人给了你链接而阅读,而没有适当的背景,你将一事无成,只会带来更多的混乱。
文本对象可以有两种类型:包括其边界的类型和不包括其边界的类型。
按照惯例,包括它们的边界文本对象下手a,喜欢ap和那些排斥他们的界限开始i,喜欢ip。
什么构成了“段落”在下面解释:help paragraph,它从:help ip和链接:help ap。具体来说,一个段落的边界是:
所以你有ip,它不包括空行,而ap,包括它:
[...] end of paragraph above.
Beginning of paragraph in the middle | |
with some boring filler text so that | ip | ap
it covers a few lines. | |
|
Beginning of paragraph below [...]
Run Code Online (Sandbox Code Playgroud)
在完成gq一个段落时,使用iporap并不重要,因为额外的空行不太可能改变对文本所做的任何事情。ip并且ap在这里有点例外,因为两种类型的文本对象之间的差异通常非常重要:
it
----------------------
<h2>One day I will be a H1</h2>
-------------------------------
at
Run Code Online (Sandbox Code Playgroud)
有关:help text-objects该主题的参考资料和:help 04.8更温和的介绍,请参阅。
正如我在另一个答案中所提到的,适当的学习可以让你培养一种直觉,这种直觉很难从随机的、断开的、链接和推文等中建立起来。