10

私はOSX Lionを使っています

Terminal.app内でemacsを実行しています

command-x の結果が Mx になるようにしたい (そして一般的には command -> M)

私は次の解決策を試しましたが、それらは私が望むものではありません:

私が欲しいのは、コマンドキーをメタにバインドするために、Terminal.app 内 (または emacs 内のみ) だけです。どうすればこれを達成できますか?

4

5 に答える 5

9

fwiw - iterm2 では、cmd をメタにマップし、他のアプリケーションとうまく連携させるために、少し注意が必要です。(cmd-tabの動作、cmd-space(quicksilver)など)左利きのcmd-tab操作などに偏る私の設定は次のとおりです.

iterm2 内

  • (設定 >> キー タブ) left コマンドを left-option に再マップする必要があります
  • グローバルショートカットキーは、以下を「モディファイアを再マップしない」に設定します
    • cmd-space (quicksilver を正常に動作させる)
    • ctl-cmd-space (omnifocus バインディングを機能させます)
    • cmd-` - サイクル ウィンドウ
    • cmd- -> (右矢印) タブの循環が正しく機能するようにします
  • (設定 >> プロファイル タブ >> キー サブタブ) 左のオプション キーをエスケープにマップします。これにより、シェル アプリケーションを期待するほとんどのメタに期待される動作が提供されます。

これにより、特定のローカル iterm タスクに right-cmd を使用することになりますが、キーバインディングが異なるアプリケーション間の切り替えなどは、通常の左利きの操作を行い、筋肉の記憶の再訓練が最小限に抑えられました。

于 2012-04-14T23:03:34.233 に答える
4

FWIW:これを達成するための別の方法を見つけました。これは私にとってより良い方法です(これはiTerm2にあります)。

私はemacsがターミナルでウィンドウと同じように動作するようにしたかったのです。次のスニペットを使用して、コマンドキーをメタキーとして使用するようにemacsを設定しています。

;;osx keys
(setq mac-option-key-is-meta nil)
(setq mac-command-key-is-meta t)
(setq mac-command-modifier 'meta)
(setq mac-option-modifier 'alt)

そのため、コマンドキーをiTerm2のメタキーのように動作させるために、[設定]->[プロファイル]->->[キー]に移動し、新しいキーを追加しました。唯一の問題は、キーごとに個別に実行する必要があることですが、たとえば、次のように言うことができます。

keyboard shortcut: <type command-p>
action: send escape sequence
Esc+: p

だから私は私の最も頻繁に使用するメタ+キーのためにそれをしました。option / altのような別のラジオボタンのセットがあれば、「コマンドキーはEsc+のように機能します」と言うことができれば便利です。

于 2012-11-07T01:02:34.470 に答える
4

まず、ターミナルの環境設定の [設定] タブの [キーボード] サブタブに、[オプションをメタ キーとして使用する] チェックボックスがあります。それはまさにあなたが求めたものではありませんが、組み込まれています。

Cocoa Key Bindings システムがここで役立つかもしれないと考えていましたが、検索によると、Command の再マッピングを意図的に許可していません。このページには、Cocoa のキー バインドとテキストのデフォルトのカスタマイズ可能性に関する多くの情報があります。

于 2012-04-13T11:07:21.077 に答える
3

特定のアプリケーションのキーとスワップを可能にする ( https://github.com/aim-stuff/cmd-key-happy ) を使用しcmd-key-happyますaltcommmand

したがって、Terminal.app では、期待どおりにすべてのメタ修飾子を使用できますが、代わりに Mac 固有のコマンド (コピー、貼り付け、閉じる、新規) を使用できaltます。

于 2012-04-13T12:47:54.470 に答える
-2

なぜ Terminal.app に固執するのですか? iterm2 をインストールするだけで、次の作業に進むことができます。

于 2012-04-13T11:55:29.290 に答える