5

我是一名 Emacs 用户,正在研究 Sublime Text 2。我已经重新映射了默认的 Emacs 键绑定,并且已经习惯于使用 Alt+i、Alt+k、Alt+j、Alt+l 进行向上、向下、向左移动和正确的。我在 Sublime Text 中重新映射这些键没有任何问题。

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

如果可能的话,我想将用于显示菜单的键重新映射到其他内容(如 Alt+空格)。否则,我想完全禁用带有 Alt 键的菜单(并使用热键和控制台进行所有操作)。

我在 Windows XP 上运行 Sublime Text。

4

2 回答 2

4

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

为了解决这个问题,我从菜单中删除了助记符,这会阻止菜单出现。为此,请转到 Preferences -> Browse Packages 并打开 Default/Main.sublime-menu 文件。在那里,您可以删除所有“助记符”:“*”,以摆脱助记符。

按 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 仍将照常工作。

于 2013-03-03T15:35:28.080 回答
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
于 2013-03-02T08:09:38.553 回答