加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

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

发布时间:2020-12-15 21:36:27 所属栏目:安全 来源:网络整理
导读:我想了解Vim的点(.)寄存器中存储的内容. 请考虑以下文本: This is Line oneThis is Line twoThis is Line three 光标在第一行,如果我做A; esc我可以用j重复下一行的相同动作. 但是,如果我执行的操作就像删除第一行上的最后一个字符$x然后尝试用j重复下一行,
我想了解Vim的点(.)寄存器中存储的内容.

请考虑以下文本:

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

光标在第一行,如果我做A;< esc>我可以用j重复下一行的相同动作.

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

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

解决方法

来自:帮助.:

.                       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,$first移动光标,然后x命令删除一个字符.它们没有链接在一起,因此更改只是删除当前光标位置的字符.

(换句话说,如果命令在命令之后采用运动操作符,则运动只是更改的一部分,如d,或者如果运动隐含在命令中,则与A一样)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读