【问题标题】:Vim "show my last command" command?Vim“显示我的最后一个命令”命令?
【发布时间】:2012-02-14 05:32:45
【问题描述】:

是否有显示正常模式下最后一条命令的命令?

假设我不小心按了随机键并得到了一些意想不到的结果。 当然我可以撤消它,但我可以透露按下了什么键以及它是如何解释的吗?

【问题讨论】:

  • 我能想到的最好的办法是::echo v:count . v:operator

标签: vim vi


【解决方案1】:

q: 将显示 Vim 中的命令历史记录。
q/ 将显示搜索历史记录。
并且必须重要的是,:q 将非常模式。

【讨论】:

  • 所以这就是这个功能不时随机弹出的原因。 (这是:q 的反面)。否则我不会知道它的存在去寻找它。
  • 总是陷入这种模式。你如何摆脱它? Esc 不起作用,这真的让我很头疼。
  • @devios1: Vim 是恶魔写的。
  • @devios1 :q 会让你摆脱那种模式。我知道,非常不直观,也不是我们可能会尝试的东西,因为我们已经习惯了:q qutting 编辑器本身,而且这种模式实际上是 vim 中的一个单独的窗口/拆分并不明显,它将拦截下一个:q
【解决方案2】:

输入冒号: 然后ctrl+p 显示您之前的命令,即向后移动您的vim 命令历史。 ctrl+n 前进。

如果您习惯使用命令行并且不希望将键盘手的位置更改为使用箭头键,这将非常方便。

【讨论】:

    【解决方案3】:

    点击冒号 (:),然后使用向上箭头开始返回之前的命令。您也可以使用向上/向下箭头在列表中移动。

    【讨论】:

    • 由于某种原因这对我不起作用。结果历史设置为0。解决方案是运行:set history=100,然后我可以使用向上箭头查看以前的命令。
    • 多年来我一直在尝试找出如何摆脱这种模式。 Esc 不起作用。似乎:有时有效,但并非总是如此。我总是陷入这种模式。
    • 而 (:) 和向上/向下箭头显示命令历史记录,(/) 向上/向下箭头显示搜索模式历史记录。我发现这非常有用。
    • @devios1:你现在解决了吗?它必须有效,您的问题的详细信息是什么?
    【解决方案4】:

    很难知道。您可以使用变量:

    v:operator
    v:count (and v:prevcount)
    v:register
    

    但您无法完全获取发出的最后一个正常模式命令。

    但是,如果您想系统地记录您在 Vim 中键入的所有内容,您可以启动 vim -W ~/.vim-last-scriptout(Windows 版本:vim -W "%HOMEPATH%\Vim\.last-scriptout)您可以在 UNIX 机器上的 shell 中为其设置别名。每个键或控制键都将记录到该文件中。请注意,如果您碰巧使用gvimvim -g(GUI),您可能会使用encounter this bug

    如果你想重播这个文件,你可以在命令行中使用:source!(带有感叹号)或-s选项。

    在 Windows 上,我已将 gvimportable.exe -W gvim_directory\last_scriptout 设置为我的 Commander 程序 (FreeCommander) 中的默认编辑器。这样,我总是可以记住我输入的内容来执行某项操作并在另一个文件上重复一系列命令。当然,我还有另一个打开 Vim 和播放脚本的快捷方式。

    请注意,该文件可能仅在 Vim 退出时写入,因此您必须丢失会话才能知道您做了什么。

    【讨论】:

      【解决方案5】:

      最后一条命令的文本存储在. 寄存器中。您可以通过 :display 查看所有寄存器。不幸的是,它没有说明启动正常命令的内容。

      要查看来自: 的命令(命令模式),您可以使用 :histq: 限制为最后 20 个(默认情况下)。

      另一种能力是保存撤消缓冲区 :wundo undo.bin -- 但撤消缓冲区是二进制的。

      但这些都没有真正回答你的问题。我很好奇它是否可以做到。

      【讨论】:

      • 该寄存器存储最后插入的文本(I, A, i, a, s, S, c, C 之后)
      猜你喜欢
      • 1970-01-01
      • 2020-07-23
      • 2021-12-18
      • 2011-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多