Vim文本对象ip和ap有什么区别?
What Are the Differences Between the Vim Text Objects ip and ap?
Vim 手册对它们进行了完全相同的描述。来自 Vim 手册:
ap
: "a paragraph", select [count] paragraphs. Exception: a blank line (only containing white space) is also a paragraph boundary. When used in Visual mode it is made linewise.
ip
: "inner paragraph", select [count] paragraphs. Exception: a blank line (only containing white space) is also a paragraph boundary. When used in Visual mode it is made linewise.
因此,我并不完全清楚它们之间的区别。例如,假设您有命令 gqap
和 gqip
。他们的行为有何不同?
同样,仅仅阅读 :help ap
因为有人给了你 link,没有适当的背景,你将一事无成,只会带来更多的困惑。
文本对象可以有两种类型:包含边界的文本对象和排除边界的文本对象。
按照惯例,包含边界的文本对象以 a
开头,如 ap
,而排除边界的文本对象以 i
开头,如 ip
。
:help paragraph
解释了“段落”的构成,link 来自 :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 [...]
在段落上执行 gq
时,使用 ip
或 ap
并不重要,因为额外的空行不太可能改变对段落所做的任何事情文本。 ip
和 ap
在这里有点例外,因为两种类型的文本对象之间的差异通常很重要:
it
----------------------
<h2>One day I will be a H1</h2>
-------------------------------
at
有关该主题的参考,请参阅 :help text-objects
,有关更温和的介绍,请参阅 :help 04.8
。
正如我在其他回答中提到的,适当的学习可以让你培养一种直觉,这种直觉很难从随机的、不连贯的、links 和推文等中建立起来。
Vim 手册对它们进行了完全相同的描述。来自 Vim 手册:
ap
: "a paragraph", select [count] paragraphs. Exception: a blank line (only containing white space) is also a paragraph boundary. When used in Visual mode it is made linewise.
ip
: "inner paragraph", select [count] paragraphs. Exception: a blank line (only containing white space) is also a paragraph boundary. When used in Visual mode it is made linewise.
因此,我并不完全清楚它们之间的区别。例如,假设您有命令 gqap
和 gqip
。他们的行为有何不同?
同样,仅仅阅读 :help ap
因为有人给了你 link,没有适当的背景,你将一事无成,只会带来更多的困惑。
文本对象可以有两种类型:包含边界的文本对象和排除边界的文本对象。
按照惯例,包含边界的文本对象以 a
开头,如 ap
,而排除边界的文本对象以 i
开头,如 ip
。
:help paragraph
解释了“段落”的构成,link 来自 :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 [...]
在段落上执行 gq
时,使用 ip
或 ap
并不重要,因为额外的空行不太可能改变对段落所做的任何事情文本。 ip
和 ap
在这里有点例外,因为两种类型的文本对象之间的差异通常很重要:
it
----------------------
<h2>One day I will be a H1</h2>
-------------------------------
at
有关该主题的参考,请参阅 :help text-objects
,有关更温和的介绍,请参阅 :help 04.8
。
正如我在其他回答中提到的,适当的学习可以让你培养一种直觉,这种直觉很难从随机的、不连贯的、links 和推文等中建立起来。