有什么区别:。!和:r!?

有什么区别:。!和:r!?

问题描述:

读了一些vim的提示,我遇到了:r!{command}:.!{command},两者都将shell的输出<command>放到当前缓冲区中。 我想'r'代表'阅读',但我如何在上面的命令中'翻译'点?有什么区别:。!和:r!?

并且:它们是否具有完全相同的功能?

非常感谢您的见解!

孤拔

+0

也许这应该去超级用户,因为这是一个用户问题,而不是编程? [@Guba,不用担心移动它,如果需要它会自动发生。 Beta密码位于http://blog.*.com/2009/07/super-user-semi-private-beta-begins/,不要忘记链接您的帐户,请参阅http://blog.*。 com/2009/07/cross-site-account-associations /] – bdonlan 2009-08-06 17:10:33

的点是一个区域,指的是当前行。 !然后获取此区域并通过命令管理它。

因此,举例来说,如果你这样做:

:.!rev 

你会反转字符的当前行的顺序。

当然,如果您使用忽略其输入的命令,则只需将当前行替换为任何输出即可。

:r!另一方面,在当前行之后插入输出,而不删除当前行的文本。

+0

太棒了!欢呼快速和准确的答复! – Guba 2009-08-06 17:11:35

+0

:.r!不适合我。它不需要线路和管道这个命令。 – Arpegius 2009-08-06 19:06:16

+1

lionbest,请注意,没有提到:.r! 。它可以是:。!{command}或:r!{command}。 – Guba 2009-08-07 06:13:15