5

私は Sublime Text 2 を検討している Emacs ユーザーです。デフォルトの Emacs キー バインドを再マップし、Alt+i、Alt+k、Alt+j、Alt+l を使用して上、下、左に移動することに慣れてきました。そして右。Sublime Text でこれらのキーを再マッピングしても問題はありませんでした。

問題は、これらのキーを使用してメニューをナビゲートすると、気が散らないモードでメニューを非表示にしているにもかかわらず、メニューがポップアップすることです。Alt キーを押したときにメニューが表示されないようにしたいと考えています。

可能であれば、メニューを表示するためのキーを別のもの (Alt + スペースなど) に再マップしたいと考えています。それ以外の場合は、Alt キーで表示されるメニューを完全に無効にしたいと思います (すべてにホット キーとコンソールを使用します)。

Windows XP で Sublime Text を実行しています。

4

2 に答える 2

4

私が抱えていた問題は、再バインドしていたキーがメニューのニーモニックと競合することでした。具体的には、検索のニーモニックでもある Alt+i を何かにマップしました。

この問題を解決するために、メニューからニーモニックを削除しました。これにより、メニューが表示されなくなりました。これを行うには、Preferences -> Browse Packages に移動し、Default/Main.sublime-menu ファイルを開きます。そこで、すべての "mnemonic": "*" 行を削除して、ニーモニックを取り除くことができます。

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 に答える