gpt4 book ai didi

vim - 了解 Vim 专有运动

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

我指的是:http://vimdoc.sourceforge.net/htmldoc/motion.html#exclusive .
具体如下:

Which motions are linewise, inclusive or exclusive is mentioned with the command. There are however, two general exceptions:

  1. If the motion is exclusive and the end of the motion is in column 1, the end of the motion is moved to the end of the previous line and the motion becomes inclusive. Example: } moves to the first line after a paragraph, but d} will not include that line.


给定以下文本开头:
This is just a random paragraph.

This is another random paragraph ([S]ome text inside brackets).

This is a third paragraph.

我将光标放在字符 S 上,就在 ( 之后,在第二段。

我执行以下命令 - d} - 在正常模式下。我得到以下信息:
This is just a random paragraph.

This is another random paragraph [(]

This is a third paragraph.

光标现在位于 ( 上在第二段。根据上述规则,这是预期的: }是一个排他性的 Action ,使光标移动到第 2 段和第 3 段之间的空行的第 1 列;按照规则,光标移动到上一行(在句号处),并且运动变得包含在内(句号作为 d 操作的一部分被删除)。

让我们再次获取原文,将光标再次放在 S 上.

如果我执行以下命令 - d{ - 在正常模式下,我希望得到以下结果,因为 {是一个排他性 Action ,它使光标移动到第 1 段和第 2 段之间的空行的第 1 列:第 1 段句号和 S 之间的所有内容。被删除,包括。
This is just a random paragraphome text inside brackets).

This is a third paragraph.

但实际发生的事情是这样的:
This is just a random paragraph.  
[S]ome text inside brackets).

This is a third paragraph.

光标位于 S 上.

这是异常(exception)的异常(exception)吗?或者我只是把这一切都弄错了?

最佳答案

要了解排他性运动的重要一点是,被排除的角色始终是最靠近缓冲区末尾的角色。

当您前进时,您要跳转到的字符将被排除,但当您向后退时,实际上是光标下的字符被排除。

这是你的第二个例子。 {覆盖的部分以粗体突出显示。

This is just a random paragraph.␤

This is another random paragraph (S
ome text inside brackets).␤

This is a third paragraph.␤

如您所见, S被覆盖,但它是目标最右边的字符,因此 – {作为一个排他性的动议——它不受操作的影响。

它之前的所有内容,包括它之前行中的换行符(其中 { 位于光标处)都将被删除。所以你所看到的确实是预期的:
This is just a random paragraph.␤
Some text inside brackets).␤

This is a third paragraph.␤

关于vim - 了解 Vim 专有运动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29327208/

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