如何更改vim菜单的加速键?

如何更改vim菜单的加速键?,vim,Vim,在我的vimrc中,我有nnoremap。不幸的是,这失败了,因为Alt+h是帮助菜单的加速键,所以vim忽略我的映射并打开菜单。是否有任何方法可以更改菜单的加速键,甚至禁用它 我已经看了帮助文件,但至今找不到答案。我正在寻找一小段vimscript,而不是一个插件,因为我正在努力确保我理解文件中的所有内容。直观地说,我认为可能有一种方法可以设置映射,我只是不知道它会是什么。如果禁用菜单(set guioptions-=m),这将允许您映射所需的击键 或者,$VIMRUNTIME/menu.vi

在我的vimrc中,我有
nnoremap
。不幸的是,这失败了,因为Alt+h是帮助菜单的加速键,所以vim忽略我的映射并打开菜单。是否有任何方法可以更改菜单的加速键,甚至禁用它

我已经看了帮助文件,但至今找不到答案。我正在寻找一小段vimscript,而不是一个插件,因为我正在努力确保我理解文件中的所有内容。直观地说,我认为可能有一种方法可以设置映射,我只是不知道它会是什么。

如果禁用菜单(
set guioptions-=m
),这将允许您映射所需的击键

或者,
$VIMRUNTIME/menu.vim
是用来创建菜单本身的源代码,它还定义了菜单的快捷键。您可以覆盖帮助菜单项的名称,以删除
&
标记(定义快捷方式)

例如,我安装的
$VIMRUNTIME/menu.vim
有以下内容:

" Help menu
an 9999.10 &Help.&Overview<Tab><F1> :help<CR>
an 9999.20 &Help.&User\ Manual      :help usr_toc<CR>
an 9999.30 &Help.&How-to\ links     :help how-to<CR>
an <silent> 9999.40 &Help.&Find\.\.\.   :call <SID>Helpfind()<CR>
an 9999.45 &Help.-sep1-         <Nop>
an 9999.50 &Help.&Credits       :help credits<CR>
an 9999.60 &Help.Co&pying       :help copying<CR>
an 9999.70 &Help.&Sponsor/Register  :help sponsor<CR>
an 9999.70 &Help.O&rphans       :help kcc<CR>
an 9999.75 &Help.-sep2-         <Nop>
an 9999.80 &Help.&Version       :version<CR>
an 9999.90 &Help.&About         :intro<CR>
(请注意,如果您完全不使用
&
,看起来将使用菜单的第一个字符,这将使您回到同一位置。)

如果禁用菜单(
设置guioptions-=m
),这将允许您映射所需的击键

或者,
$VIMRUNTIME/menu.vim
是用来创建菜单本身的源代码,它还定义了菜单的快捷键。您可以覆盖帮助菜单项的名称,以删除
&
标记(定义快捷方式)

例如,我安装的
$VIMRUNTIME/menu.vim
有以下内容:

" Help menu
an 9999.10 &Help.&Overview<Tab><F1> :help<CR>
an 9999.20 &Help.&User\ Manual      :help usr_toc<CR>
an 9999.30 &Help.&How-to\ links     :help how-to<CR>
an <silent> 9999.40 &Help.&Find\.\.\.   :call <SID>Helpfind()<CR>
an 9999.45 &Help.-sep1-         <Nop>
an 9999.50 &Help.&Credits       :help credits<CR>
an 9999.60 &Help.Co&pying       :help copying<CR>
an 9999.70 &Help.&Sponsor/Register  :help sponsor<CR>
an 9999.70 &Help.O&rphans       :help kcc<CR>
an 9999.75 &Help.-sep2-         <Nop>
an 9999.80 &Help.&Version       :version<CR>
an 9999.90 &Help.&About         :intro<CR>

(请注意,如果您完全不使用
&
,看起来将使用菜单的第一个字符,这将使您回到原来的位置。)

谢谢,但我真正想要的是一种保留菜单的方法,但要覆盖加速器映射。在查看menu.vim之后,我找不到加速器的定义位置,我不想删除它,因为我对我的vim fu没有足够的信心安全地这样做。@theresawalrus我也这么想,所以我给大家举了一个例子,它比完全删除菜单的核解决方案花了我一点时间。加速器可以是菜单的第一个字符,也可以是“&”之后的字符。谢谢!这更有意义。不过,我必须使用与
l
不同的东西,否则这又是一个相同的问题:)谢谢,但我真正想要的是保留菜单,但覆盖加速器映射的方法。在查看menu.vim之后,我找不到加速器的定义位置,我不想删除它,因为我对我的vim fu没有足够的信心安全地这样做。@theresawalrus我也这么想,所以我给大家举了一个例子,它比完全删除菜单的核解决方案花了我一点时间。加速器可以是菜单的第一个字符,也可以是“&”之后的字符。谢谢!这更有意义。不过,我必须使用不同于
l
的东西,否则这又是同一个问题:)