gpt4 book ai didi

vim - Vim 文本对象 ip 和 ap 有什么区别?

转载 作者:行者123 更新时间:2023-12-04 00:12:52 27 4
gpt4 key购买 nike

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.


因此,我并不完全清楚它们之间的区别是什么。例如,假设您有命令 gqapgqip .他们的行为有何不同?

最佳答案

再次,只是阅读 :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 [...]
    做的时候 gq在一个段落上,使用 ipap并不重要,因为额外的空行不太可能改变对文本所做的任何事情。 ipap在这里有点异常(exception),因为两种类型的文本对象之间的差异通常非常重要:
                 it
    ----------------------
    <h2>One day I will be a H1</h2>
    -------------------------------
    at
    :help text-objects有关该主题的引用和 :help 04.8更温和的介绍。
    正如我在另一个答案中所提到的,适当的学习可以让你培养一种直觉,而这种直觉很难从随机的、断开的、链接和推文等中建立起来。

    关于vim - Vim 文本对象 ip 和 ap 有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67225360/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com