我参考了此链接:http://vimdoc.sourceforge.net/htmldoc/motion.html#exclusive。具体而言,以下文字内容如下:
哪些动作是行内、包容或排除是在命令中提到的。然而有两个一般例外情况:
如果运动是排他的且运动结束于第1列,则运动结束于前一行的结尾,并变成包容。例如:}将移至段落后的第一行,但d}不包括该行。
光标现在位于第二段落的左括号
让我们再次看原始文本,光标再次位于
如果我在普通模式下执行以下命令-
但实际上发生的是这样的:
哪些动作是行内、包容或排除是在命令中提到的。然而有两个一般例外情况:
如果运动是排他的且运动结束于第1列,则运动结束于前一行的结尾,并变成包容。例如:}将移至段落后的第一行,但d}不包括该行。
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.
光标现在位于第二段落的左括号
(
。 根据上面的规则,这是预期的: }
是一个排他运动,它会使光标移到第2段和第3段之间的空白行的第1列; 根据规则,光标跳到前一行(在句号上),并且运动变为包含性(句号作为d
操作的一部分被删除)。让我们再次看原始文本,光标再次位于
S
上。如果我在普通模式下执行以下命令-
d{
- 我会期望得到以下内容,因为{
是一个独占式运动,它会导致光标移动到第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
上时。
这是例外中的例外吗?还是我完全搞错了?
S
上。 - gltsdw
保留下一个单词的第一个字符,db
保留光标下的字符。 - mMontu