停止Alt键调出Sublime Text 2中的菜单

时间:2013-03-01 08:20:11

标签: sublimetext2 key-bindings

我是Emacs用户,正在寻找Sublime Text 2.我已经重新映射了默认的Emacs键绑定,并且习惯于使用Alt + i,Alt + k,Alt + j,Alt + l进行操作,向下,向左和向右。我在Sublime Text中重新映射这些键没有任何问题。

问题是每当我使用这些键导航菜单弹出时,即使我已将其隐藏在无干扰模式中。当我按下Alt键时,我想停止菜单。

如果可能的话,我想将用于显示菜单的键重新映射到其他内容(例如Alt + space)。否则我想完全禁用Alt键的菜单(并使用热键和控制台)。

我在Windows XP上运行Sublime Text。

2 个答案:

答案 0 :(得分:4)

我遇到的问题是,我正在重新绑定的一个键与菜单上的助记符冲突。具体来说,我将Alt + i映射到某个东西,同时它也是Find的助记符。

为解决这个问题,我从菜单中删除了助记符,停止了菜单的显示。要执行此操作,请转到首选项 - >浏览包并打开Default / Main.sublime菜单文件。在那里你可以删除所有的“助记符”:“*”,用来摆脱助记符的行。

按alt键仍会显示菜单。如果要禁用此功能,可以使用以下AutoHotkey脚本(感谢Armin):

SetTitleMatchMode RegEx
#IfWinActive .*Sublime Text 2.*
    LAlt & esc::return ;This can be any key, not just escape. It's needed to get AutoHotkey to treat Alt as a prefix key.
    ~LAlt::return
#IfWinActive

这只会停止左侧Alt调出菜单,右侧Alt仍将照常工作。

答案 1 :(得分:1)

如果您使用Autohotkey,则可以尝试使用#IfWinActive,如果某些窗口处于活动状态,它将仅应用热键。 然后你的代码看起来像这样

#IfWinActive, Emacs ; the name of the window
~LAlt::return ;this enables the LAlt + hotkey action but disables LAlt
LAlt & space::tooltip,do stuff
...
#IfWinActive ;end