在VIM中,我可以找出刚刚键入的键吗?


11

有时我会使用VIM,并且会发生某些事情,但我不知道它是什么或输入的原因。有没有办法列出一些最近输入的键,甚至更好地找出它们触发了什么动作?

Answers:


7

Vim有一个-W您可能会滥用的选项,但在Vim仍在运行时将无法使用。

-w {scriptout}

您键入的所有字符都记录在{scriptout}文件中,直到退出Vim。如果要创建脚本文件以与“ vim -s”或“:source!”一起使用,这很有用。如果{scriptout}文件存在,将附加字符。

-W {scriptout}

与-w类似,但是现有文件将被覆盖。

Vim用别名呼叫

vim -W /tmp/vimlog-$(id -un)

将让你检查less /tmp/vimlog-$(id -un)或者cat -v /tmp/vimlog-$(id -un)你有什么字面退出后输入Vim


这是一个有趣的想法。我会试一试,看看我是否学到了什么。
欧文,

3

首先确保vim完全记住任何历史记录。这会将历史记录设置为1000个命令并搜索:

:set history=1000

如果键入要查找的内容的开头,则可以使用 键滚动历史记录-这适用于命令和搜索。

例如,如果您搜索过中国,然后是古巴,然后是乍得,然后是塞浦路斯

您可以键入/c并按几次。你会发现它显示/cyprus,然后/cuba/china/Chad被跳过,因为它不具有启动Ç)。

其他命令:

  • :history 列出整个历史记录。
  • :his 列出命令历史记录。
  • :his / 列出搜索历史。

2
我认为这不适用于普通模式命令,仅适用于ex模式命令(即以':'开头的命令,例如:e:w:q)
kmkkmk 2011年

1
要查看ex命令的历史记录,您也可以简单地q:以普通模式键入。搜索历史记录也是如此q/
-Yab

2

您可以将其添加到您的.vimrc中:

set showcmd

键入命令时,它将在状态栏中显示您正在执行的命令。尽管这不会给您提供历史记录,但这是我所知道的最接近的解决方案。

但是,如果您在谈论ex命令,那么Gareth的遮阳篷是必经之路

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.