gpt4 book ai didi

VIM:为什么点运算符的工作方式不同?

转载 作者:行者123 更新时间:2023-12-04 18:34:06 25 4
gpt4 key购买 nike

我想了解 Vim 的 dot(.) 寄存器中存储了什么。

考虑以下文本:

This is Line one
This is Line two
This is Line three

将光标放在第一行,如果我这样做 A;<esc>我可以通过 j. 对下一行重复相同的操作

但是,如果我执行删除第一行最后一个字符的操作 $x然后尝试通过 j. 在下一行重复它,它不会删除该行的最后一个字符,而是删除光标下的字符。

那么为什么 dot 命令能够记住第一个示例中的位置 A;<esc>而不能对 $x 做同样的事情?

最佳答案

来自 :help . :

.                       Repeat last change, with count replaced with [count].
Also repeat a yank command, when the 'y' flag is
included in 'cpoptions'. Does not repeat a
command-line command.

A; ,变化是插入一个 ;在当前行的末尾。 A移动光标并切换到插入模式。

$x , $首先移动光标,然后是 x命令删除一个字符。它们没有链接在一起,因此更改只是删除当前光标位置的字符。

(换句话说,如果命令在命令后使用运动运算符,例如 d,或者如果运动是隐含在命令中的,例如 A,则运动只是更改的一部分。)

关于VIM:为什么点运算符的工作方式不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54487917/

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