将last:command插入当前缓冲区

时间:2015-01-04 08:59:29

标签: vim vi

有什么方法可以将我在命令行模式下输入的最后一个命令插入当前缓冲区吗?

例如,当我尝试新的映射时,我通常会像这样输入

:nmap * *N

在命令行模式下 有时我会针对同样的问题尝试不同的映射并稍微玩一下,但是当我对它感到满意并希望将其插入我的.vimrc时。 我总是要再次打字(或复制'用鼠标粘贴它更糟糕)。 是否有任何命令可以为我执行此操作,只需在当前缓冲区中插入:nmap * *N(带或不带:)。

1 个答案:

答案 0 :(得分:3)

在插入模式下:<c-r>:
在正常模式下:":p

来自:help ":

":  Contains the most recent executed command-line.  Example: Use
    "@:" to repeat the previous command-line command.
    The command-line is only stored in this register when at least
    one character of it was typed.  Thus it remains unchanged if
    the command was completely from a mapping.
    {not available when compiled without the |+cmdline_hist|
    feature}