iTermが他のOSと同じ方法で「メタキー」を変換するようにする


179

emacsキーバインドを使用するbashシェルでは、Mf、Mbのようなキーの組み合わせを使用して、シェルプロンプトでそれぞれ1ワードずつ前後に移動できます。通常、WindowsおよびLinuxでは、メタキーはAltキーにマップされます。しかし、iTermでは、このメタキーをMacBook ProのOptionキーまたはCommandキーにマップする方法が見つかりませんでした。

OS Xでは、デフォルトでメタキーがESCキーにマッピングされているようです。したがって、iTermでESC-f、ESC-bを使用できます。ただし、ESCキーは明らかに実用的ではありません。さらに、iTermにはメタキーのマッピングを修飾できるオプションがあります([ブックマーク]> [プロファイル]> [キーボードプロファイル]> [グローバル]> [オプションキー]など)。この設定はまったく機能していないようです。

したがって、誰かがこの問題の解決策を知っている場合は、私に知らせてください。

最新リリース0.9.6.1012にアップグレードしましたが、この動作はまだ持続します。

編集:私の質問のいくつかの明確化。私が話しているキーバインディングは、emacsではなくbashシェル用です。デフォルトでは、bashシェルもemacsと同じキーバインディングを使用します。


しばらくこの問題をいじった後、解決策を理解できません。あきらめてターミナルに切り替えました。
ejel 2008年

2
iterm2が既に存在し、すべてがそこにあることを忘れないでください=)
holms

回答:


207

Cmd+.ProfilesKeysを選択しますLeft option Key acts as: +Esc

他の望ましくない影響があるかどうかはわかりませんが、emacsで動作します。


Option Key as ...をすべての選択肢で試しましたが、bashシェルではどれも機能しません。「?」しか表示されません。メタキーの組み合わせを押すたびに。
ejel 2008年

2
+ ESCオプションを機能させるには、入力言語が米国である必要があるようです。+ ESCは、日本語/ローマ字の入力方法を選択した場合は機能しませんでしたが、入力言語をUSに切り替えると機能し始めました
Dominic Cooney

2
Preferences、Profile、Keysを選択し、Leftオプションを選択します。次に、左のオプションキーとEscキーの両方をメタキーとして使用します。それが私の場合に起こったことです。
cgl 2013年

iTerm 2では、これが推奨されるオプションのようです。
ejel

4
外付けキーボードでは、左と右の両方のオプションキーを使用するように設定する必要がありました。左のオプションキーを使用Esc+していても、変な文字が印刷されます。これは、Macキーボード設定の[ キーボード修飾子 ]オプションを使用してキーを変更するために発生する可能性があります。
grego '20年

130

[ブックマーク]> [プロファイルの管理]に移動します。次に、[ キーボードプロファイル]> [グローバル]を選択し、[ オプションキー]を[メタ]として選択します。これはバージョン0.9.6.1201で動作します。


2
グローバルではなくxterm(OS X)エントリを変更する必要がありましたが、現在は機能しています。
Jason

私のマシンで0.9.6.1201や他のいくつかのビルドで設定が壊れている理由がわかりません。ただし、最新の0.9.6ビルドと0.10では動作します。だから今は問題にはならないはずです。
ejel

11
私は再定義した後iTerm2でこれだけ働いたプロファイルのショートカットキーのためのalt+ ->alt+を<-するためにエスケープシーケンスを送る + f/ bそれぞれ。
amirnissim 2013年

それを開始するには、新しいitermセッションを開く必要がありました
Skurpi

@SridharRatnakumarはiTermでも動作します
Krzysztof Wende

31

メニューバーIterm2 => Preferences => Profilesでキータブを選択し、

左のOptionキーは+ Escとして機能します

ここに画像の説明を入力してください

私のためにもirssiで働いた。


すばらしい、これはiTerm2 + tmuxの組み合わせでも機能します
TheJavaGuy-IvanMilosavljević19年

8

Altキーも機能させることができませんでしたが、少なくともカーソルキーを使用した単語のナビゲーションで機能するようにする回避策があります。

Alt / Option +左または右矢印キーを使用してiTermの次または前の単語にスキップする


2
ためbackward-delete-word(⎇-DEL)が進コードを送信0x17(⌘-←)送信入力の先頭にジャンプするため、0x01およびエンド(⌘-→)送信するためにジャンプします0x05
Lenar Hoyt 2014

5

私はiTerm2を使用していますが、私にとっては、この答えは私の問題を部分的に解決しました:

Cmd+ ,=> プロファイル => キーおよび左オプションを選択キーは次のように機能します:+ Esc

ここに画像の説明を入力してください

それに加えて、私が行かなければならなかったのCmd+ ,=> プロファイル => キーと中キーマッピングリストの両方を見つけるキーの組み合わせ秒:ここに画像の説明を入力してくださいそしてここに画像の説明を入力してください、ダブル、それらをクリックし、次へのショートカットを変更します。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

*必ず「エスケープシーケンスの送信」アクションを選択してください


これは本当に役に立ちます。本当にありがとう!
LeOn-Han Li

4

ここではゾンビの復活をすべて行っていますが、後世のためです-

この郵便受けは、「オプションキーをメタとして」を設定したままモディファイアを犠牲にしないように、MbとMfで私が望むように機能しました(個人的にはメタを使用したvimマッピングがあります)。

要約すると、グローバルキーボードプロファイルで、設定を含む2つの新しいマッピングを追加します。

  1. 16進コードとしてのキー、bの値は62、fの値は66(man ascii
  2. オプションとしての修飾子
  3. エスケープシーケンスを送信するアクション、値bまたはf

私がまだTerminal.appから見逃しているのはOpt-Backspace、単語単位で削除することだけです。そのための回避策は他にもありますが、私は使用するために自分自身を訓練しようとしていますCtrl-w


この回答以降の新機能の可能性がありますがCtrl-wOpt-Backspaceが押されたときに送信するグローバルキーショートカットをマップできます。
Steve Buzonas 14

4

iTerm2の方が簡単です。[設定]-> [ブックマーク]-> [キーボード]に移動し、[オプション送信+ ESC]を選択します。iTerm2では、左と右のオプションキーを個別に構成できるので、必要に応じて両方を変更してください。iTerm2のリンク:http ://sites.google.com/site/iterm2home/


2

ブックマーク>プロファイルの管理に移動します。次に、キーボードプロファイル>グローバルを選択し、オプションキーとして+ ESCを選択します。

iTerm Build 0.9.5.0611およびBuild 0.9.6.20090415で動作します


うーん。これらの2つのバージョンのマシンでも設定が壊れているようです。ただし、最新の0.9.6.20090928と0.10は期待どおりに動作します。
ejel

2

Stackoverflowにもいくつかの解決策が見つかりました。キーボードプロファイルに移動し、[Global]で[Option key as] + ESCを変更します

それは私にとって完璧に機能します=)ところで、いくつかのitermパッチが存在します:http ://www.emacswiki.org/emacs/EmacsForMacOS


0

「export LANG = C」を試してください。私はemacsの専門家ではありませんが、これによりOS XのemacsがiTermでOptionキーをMetaキーとして認識できるようになりました。


0

iTermについては知りませんが、これはターミナルで実行できます。手順はここにあります:

Mac OS X Leopardキーバインディング上のEmacs


ありがとうございました。ターミナルでそれができることを知っています。iTermで同じ結果を実現したいだけです。ちなみに、私が探しているのは、emacsではなく、bashシェルのキーバインディングです。たまたまbashシェルがemacsキーバインディングを使用します。
ejel 2008年

0

これは私のために働いたものです:ブックマーク>プロファイルの管理>キーボードプロファイル>グローバル/ xterm> + Escとしてのオプションキー。これにより、Midnight CommanderでOption + Enterを使用でき、現在選択されているファイル/ディレクトリ名がコマンド文字列に表示されます。メタとしてのオプションキーが機能しませんでした。私のiTermのビルドは0.10です。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.