微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么在Vim中的DiffOrig中使用0d_?

在Vim的在线手册中,:帮助DiffOrig
显示建议的命令序列以获取当前编辑文件的更改.

这里是:

command DiffOrig vert new | set bt=nofile | r # | 0d_ | diffthis
                   \ | wincmd p | diffthis

我想知道0d_的影响是什么.我在正常模式下尝试了0d,它的工作方式与dd类似,但我无法理解为什么在这里使用它.

解决方法

让我们解释一下:假设你有原始的foo.txt包含(带行号):

1 a
2 c
3 d
~

您在第1行和第2行之间添加了一行“b”:

>:vert new在垂直拆分中创建一个新的空缓冲区(:help:new)
>:set bt = nofile使其成为临时缓冲区(:help’bt’).注意:

1 a  | 1 ·<cursor here
2 b  | ~
3 c  | ~
4 d  | ~
~    | ~

>:r#在当前行之后插入,存储在文件系统上的备用文件(#)的内容.您尚未保存其他缓冲区,因此您可以获得原始内容. (:帮助备用文件).
:help:r告诉你它总是插入后.因此:

1 a  | 1
2 b  | 2 a
3 c  | 3 c
4 d  | 4 d
~    | ~

>:0d_删除第一行.为什么0,我真的不知道,我宁愿
写下来:1d_. :帮助范围告诉:

When using a 0 (zero) this is interpreted as a 1 by most commands

_指定它进入黑洞寄存器.看到
:help:d关于:d ex命令,它按行工作.

其余的很明显.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐