vim - 无法在vim中调用录制的宏

标签 vim macros

我通过在正常模式下按 q1 在 vi​​m 中录制了一个宏,然后执行了一些移动命令并使用 a 将文本写入文档 进入插入模式。然后我按 ESC 返回正常模式,并使用 q 完成宏录制。

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

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

编辑:

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

最佳答案

所描述的行为表明 @ 是由 Vim 加载的插件/脚本映射的(可通过 :verbose map @ 进行映射)。一种解决方案是在另一个组合键中捕获原始的 @ 功能:

:noremap <leader>q @

.. 并使用它代替 @。另一种解决方案 - 直接删除原始映射(脚本、vimrc)或使用“有问题的”插件的配置选项。

关于vim - 无法在vim中调用录制的宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34179075/

相关文章:

vim - 无需在 vim 中按回车键即可转到搜索结果

vim - 检查文件是否包含某些内容

vim - 当没有从命令行打开文件时,如何在 vim 中调用插件?

c++ - 在取消定义宏函数之前使用/将宏变量的值复制到宏函数中 : is it possible?

windows - 为什么RtlFillMemory/RtlCopyMemory定义为宏

php - 创建自定义映射以在 Vim 中搜索函数定义

bash - 如何使用脚本启动 ssh session 而不重定向 stdin?

c++ - 如何根据不同的参数定义相同的宏函数

macros - 是否有用于构建列表的现有 lisp 宏?

macros - 在运行时调用 macroexpand