可能有2个问题合二为一。我想知道如何在Ex模式下引用寄存器。
例如,我正在编辑一个文件,我想保存带有时间戳(或者只是真正的日期戳)的文件。
我知道我可以使用:
将寄存器设置为shell命令输出的值:let @a = system("date +\"%Y-%m-%d\"")
有没有取消引用该寄存器并将其值插入Ex命令?类似的东西:
:w testfile.<value of "a register>
复制到系统剪贴板并粘贴会很好,但是在将来以其他命令为基础以更通用/更方式的方式进行操作会很不错。
答案 0 :(得分:12)
这样做有两种方法,但可能都不是你想要的。
使用<CTRL-R>a
在当前命令行中插入内容。有关详细信息,请参阅:help c_CTRL-R
。
使用exe
允许将变量插入表达式。请参阅:help :exe
和:help 41.3
。
:exe 'w testfile.' . @a
答案 1 :(得分:1)
假设注册“a”,您可以输入:
<CTRL-R>a
将在该点输入内联寄存器的值。这也可以在插入模式下使用。