2012-01-07 10 views
1

私のemacs環境のタブキーにMetaを再バインドしようとしています。私は周りを見回しましたが、それはcommandまたはoptionにバインドする以外の何かを見つけることができませんでした。emacsのmetaにタブキーをマップする方法はありますか?

+0

それはあなたの代わりにTABキーのESCキーを使用するためのオプションでしょうか? – Thomas

+0

@トーマス、私はより自然な手の位置を探していた、エスケープは私のためのaltと同じくらい悪いです。この回答を得た後、私は 'command'キー(私はMacにいる)を使用して解決しました。 – dave

+0

私が尋ねた理由は、TABがEmacsのインデントによく使われるので、インデントの代わりに他のキーを使うのが幸せでない限り、それを再バインドすることは良い考えではないかもしれません。 – Thomas

答えて

2

Emacsだけではできません。ウィンドウシステム(* nux、Mac、MS Windows)のキーマップを変更する必要があります。

推論については、Mapping Caps Lock to Control from within Emacs on Windows,elisp how to check if Shift key is pressedおよびCan I send a keypress to Windows from Emacs?を参照してください。

あなたあなたのウィンドウシステムの変更を行うことができます - あなたはOS Xを使用する場合は、KeyRemap4MacBookをインストールして、このようprivate.xmlを使用することができますが、それが何であるかを知っていると便利だろう...

+0

Trey、Emacsの翻訳キーマップを使ってハックすることが可能かどうか疑問に思っていました。何かご意見は? – Thomas

+0

@Thomasおそらく 'TAB'をプレフィックスキーに変更して、質問者が望んでいるものに近づくかもしれませんが、あなたはすべての異なるモードで再マッピングする必要があります。 –

+0

確信していますが、モードのキーマップ上を歩き、自動的にすべてを再マップするモードフック。 – Thomas

1

<?xml version="1.0"?> 
<root> 
    <appdef> 
    <appname>EMACS</appname> 
    <equal>org.gnu.Emacs</equal> 
    </appdef> 
    <item> 
    <name>tabtometa</name> 
    <identifier>tabtometa</identifier> 
    <only>EMACS</only> 
    <autogen>__KeyOverlaidModifier__ KeyCode::TAB, KeyCode::OPTION_L, KeyCode::TAB</autogen> 
    </item> 
</root> 

タブを保持するとオプションに変更されますが、押されるとタブとして保持されます。

あなたはCONTROL_Rおよび使用OPTION_Lを変更、非ASCII文字を挿入するためのオプションを使用する場合:

(setq ns-option-modifier 'nil) 
(setq ns-right-control-modifier 'meta) 
関連する問題