无法在 vim 中调用录制的宏

Can't call recorded macros in vim

我在vim中通过在正常模式下按q1录制了一个宏,然后做了一些动作命令并使用 a 将文本写入文档以进入插入模式。然后我按 ESC 回到正常模式并用 q.

完成宏录制

现在我想 运行 通过按 ALT GR+q 来录制宏 @符号(我使用的是德语键盘布局)然后 1 因为我将宏保存到 1 寄存器。但是在正常模式下输入 @ 后,vim 会在状态行中显示 :wincmd w 并且在按下 1[= 后不会 运行 宏33=].

我错过了什么吗?还是 vim 宏在德语键盘布局上的工作方式不同?

编辑:

:registers 1
--- Registers ---
"1   A<br ><80>kb/>^[

所描述的行为表明 @ 由 Vim 加载的 plugin/script 映射(映射可用于 :verbose map @)。一种解决方案是在另一个组合键中捕获原始 @ 功能:

:noremap <leader>q @

.. 并使用它代替 @。另一个解决方案 - 直接删除原始映射(脚本,vimrc)或使用 "offending" 插件的配置选项。