我通过在正常模式下按 q1 在 vim 中录制了一个宏,然后执行了一些移动命令并使用 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/