Vim在Ex模式下注册使用

Pec*_*eck 11 vim scripting vim-registers

可能有2个问题合二为一.我想知道如何在Ex模式下引用寄存器.

例如,我正在编辑一个文件,我想保存文件,并附加一个时间戳(或者只是真正的日期戳).

我知道我可以使用以下命令将寄存器设置为shell命令输出的值:

:let @a = system("date +\"%Y-%m-%d\"")
Run Code Online (Sandbox Code Playgroud)

有没有取消引用该寄存器并将其值插入Ex命令?就像是:

:w testfile.<value of "a register>
Run Code Online (Sandbox Code Playgroud)

复制到系统剪贴板并粘贴会很不错,但是在将来以其他命令为基础以更通用/更方式的方式执行它会很好.

DrA*_*rAl 12

有两种方法可以做到这一点,但可能两者都不是你想要的.

  1. 用于<CTRL-R>a在当前命令行中插入内容.有关详情:help c_CTRL-R,请参阅.

  2. 使用exe允许的变量插入表情.见:help :exe:help 41.3.

    :exe 'w testfile.' . @a
    
    Run Code Online (Sandbox Code Playgroud)