如何在vim中编辑现有的密钥映射?

如何在vim中编辑现有的密钥映射?,vim,keymapping,keymaps,Vim,Keymapping,Keymaps,如何在vim中编辑现有映射?我使用标准映射命令之一在.vim文件中设置映射: map ^A o]]></code>^M<GRD minus="" summary="">^M^M<p></p>^M^M</GRD>^M^M<code><![CDATA[0kkkkkk5ehi 我想编辑此长命令以使用“matlab”而不是代码,例如: map ^A o]]></matlab>^M<GRD min

如何在vim中编辑现有映射?我使用标准映射命令之一在.vim文件中设置映射:

map ^A o]]></code>^M<GRD minus="" summary="">^M^M<p></p>^M^M</GRD>^M^M<code><![CDATA[0kkkkkk5ehi
我想编辑此长命令以使用“matlab”而不是代码,例如:

map ^A o]]></matlab>^M<GRD minus="" summary="">^M^M<p></p>^M^M</GRD>^M^M<matlab><![CDATA[0kkkkkk5ehi
map^ao]>^M^M^M

^M^M^M^M^M 但是,我不想编辑.vim文件——我将再次使用原始映射。我只想更改当前会话的映射。我尝试了:map^A,但这仅显示当前映射,无法复制显示的文本


注意,^M和^A字符是用Ctrl-Q Ctrl-M等键插入的。

要仅为当前会话设置映射,请执行以下操作

:map ^A o]]></matlab>^M<GRD minus="" summary="">^M^M<p></p>^M^M</GRD>^M^M<matlab><![CDATA[0kkkkkk5ehi

:map^A o]>^M^M^M

^M^M^M^M仅为当前会话调整映射是不寻常的;也许这就是为什么它的支持率很低。我猜您实际上并不关心会话,而是关心Matlab文件类型。在这方面,有很好的支持。如果检测到
'filetype'
matlab
,则可以在
~/.vim/after/ftplugin/matlab.vim
中放置缓冲区本地映射变量:

map <buffer> ^A ...
映射^A。。。
直接编辑 如果你想坚持你原来的计划,我会这样做:

  • 打开配置:
    :split~/.vimrc
  • 就地编辑映射
  • 猛拉线:
    yy
  • 执行以激活当前会话:
    :@“
  • 中止编辑而不保存:
    :b删除!
  • 可供替代的
    对于更通用的解决方案,您还可以通过
    :redir
    捕获原始
    :map^a
    命令的输出,然后
    :将其放入
    :新的
    暂存缓冲区,最后是
    :source
    。这更多是手动步骤和键入,但可以通过自定义命令实现自动化。如果需要,这是值得的通常。

    谢谢!我最后使用
    :redir@t
    保存到寄存器(t)而不是文件。然后,在运行命令后,我执行了
    :redir END
    ,然后使用
    “tp
    从寄存器粘贴。这获得了我要查找的文本,我成功地从中重新创建了编辑过的映射。这是:redir@t:map^A:redir END“tp以获取用于映射^A字符的文本。抱歉,这没有回答我的问题。我正在尝试获取现有映射的文本;我已经知道如何执行此命令。