【问题标题】:Vim Register Use in Ex Mode在 Ex 模式下使用 Vim 寄存器
【发布时间】:2011-01-25 05:52:43
【问题描述】:

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

例如,我正在编辑一个文件,我想保存该文件并附加时间戳(或者实际上只是日期戳)。

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

:let @a = system("date +\"%Y-%m-%d\"")

是否可以取消引用该寄存器并将其值插入 Ex 命令?比如:

:w testfile.<value of "a register>

复制到系统剪贴板并粘贴会很好,但将来以更通用/程序化的方式构建其他命令会很好。

【问题讨论】:

    标签: vim scripting vim-registers


    【解决方案1】:

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

    1. 使用&lt;CTRL-R&gt;a 在当前命令行中插入内容。请参阅:help c_CTRL-R 了解更多信息。

    2. 使用exe 允许将变量插入到表达式中。请参阅:help :exe:help 41.3

      :exe 'w testfile.' . @a
      

    【讨论】:

      【解决方案2】:

      假设寄存器“a”,你可以输入:

      &lt;CTRL-R&gt;a 将在该点输入寄存器 a inline 的值。这也可以在插入模式下使用。

      【讨论】:

      • 是的,知道这一点,正在寻找一种无需粘贴的方法。没有特别的原因,但是有一些可以自动取消引用变量的东西会很好
      猜你喜欢
      • 1970-01-01
      • 2010-12-02
      • 2015-08-08
      • 2021-04-23
      • 1970-01-01
      • 2010-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多