有没有办法显示类似于在Vim中显示映射的宏列表?

Jas*_*own 36 vi vim macros

我知道有一种方法可以列出通过映射:map(或:imap,:cmap等等),但我不能找到一种方法,列出宏我已经保存在我的vimrc文件(如let @a = 'blahblah').

有没有办法做到这一点,而无需手动查看它(通过:split [myvimrcfile]或以任何方式)?

此外,如果可能的话,是否有办法附加某些文档,这些文档将与宏一起显示以解释它的用途?我有一把,我用了很多,但相隔约6周.很快就可以快速列出它们以及一条评论,告诉我宏的作用(甚至只是一个名称,所以我确保使用正确的名称).

谢谢

jhe*_*ngs 69

在vim中,宏只是存储在 registers.您可以调用任何寄存器的内容并将其作为宏执行(这就是它的@作用).要查看寄存器中的内容列表,请使用:reg.


Aug*_*ust 6

您可以使用以下命令查看所有寄存器的内容

:reg
Run Code Online (Sandbox Code Playgroud)

命令。或者像这样的参数字符串

:reg ahx
Run Code Online (Sandbox Code Playgroud)

将显示寄存器 a、h 和 x 的内容。

这样您至少可以看到将运行的命令顺序,并希望这足以让您清楚地区分命令。

寄存器仅包含文本。您可以将命令序列作为文本粘贴,也可以将文本复制到寄存器中,然后将其作为命令运行,具体取决于访问寄存器的方式。

我还没有找到任何直接的方法来编辑寄存器的内容,但您可以将其粘贴到文件中,进行编辑,然后将其保存回同一寄存器。

IHTH。