iTerm2でコントロール+左矢印を1つ戻すにはどうすればよいですか?


114

私はLinuxのマニュアルを読んでいて、control + leftとcontrol + rightを使用して、編集中に端末内の単語を前後に移動できると言っていることに気付きました。

「Ctrlと左または右矢印キーを同時に押すと、Escキーを押してからBまたはFを押すのと同じように、単語を一度に前後に移動できます。」

OS Xでcontrol+leftcontrol+right通常はスペースを制御します。それらを無効にしました。また、環境設定ペインを使用してキーボードショートカットを設定しようとしました。

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

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

ただし、これは機能せず、次のエラーが発生します。

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

また、私がiTermにいて、alt+escapeBまたはF を使用すると、キャラクターが前後に移動します。これは私の設定が変更される前に起こっていました。しかし、コントロール+矢印キーを使用できるようになりたいです。


ちなみに、これを達成するためのもっとpar約的な方法は、Ctrl +左とCtrl +右の代わりに、command +左とcommand +右を単にマップすることです。これを達成するために、システム全体で何かを無効にする必要はありませんでした。
モホーク博士

回答:


135

バッシュ

以下を追加するだけ~/.inputrcです:

"\e[1;5D": backward-word
"\e[1;5C": forward-word

詳細については、このアーカイブされたWikiの投稿を参照してください。あなたが使用したい場合alt(デフォルトのOS Xの動作のような)単語ツー単語移動のための代わりにキーを使用します:

"\e[1;9D": backward-word
"\e[1;9C": forward-word

zsh

zshはデフォルトではreadlineライブラリを使用しないため、読み取りません~/.inputrc。同じ機能を取得するには、次を追加できます。~/.zshrcこれもaltキーを使用します。

bindkey -e
bindkey '^[[1;9C' forward-word
bindkey '^[[1;9D' backward-word

組み込みのzshラインエディタ(zle)の詳細については、このドキュメントを参照してください。


どうしてこれなの?Xtermのデフォルトを使用するようにプロファイルを設定しました:

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

これが、このシーケンスを「キャッチ」し、readline何をすべきかを伝える必要がある理由です。


上記がまだ機能せず、OS X 10.9(Mavericks)を使用している場合は、ミッションコントロール自体が無効になっている場合でも、Control +矢印キーがiTermに到達しないようにするグローバルミッションコントロールショートカットを無効にする必要があります。これは、システム環境設定→キーボード→ショートカット→Mission Controlから実行できます。

ミッション制御キーボードの設定


4
Altキーを押しながら左キーとAltキーを押しながら右キーを機能させるための指示に従います。.inputrcファイルに2行を追加しましたが、キーを押したときに起こることは、「D」または「C」のいずれかがシェルに出力されることだけです。zshシェルでiTerm2を使用しています。何か案は?
フロー

1
@Floの行を追加してみてくださいbindkey -ebindkey '^[[1;9C' forward-wordbindkey '^[[1;9D' backward-wordあなたに~/.zshrc代わりに。IIRC zshは読み込め.inputrcません。少なくとも、この方法ではうまくいきます。
slhck

2
ctrl-left / right + bashでは動作しませんが、alt-left / rightに設定すると正常に動作します。
ダリン14年

3
Mission Controlのショートカットに関する編集を追加して、これがどれほどひどく不透明な方法で動作するのを防ぐようにしました。うまくいけば、それは私がちょうどurghたのと同じものを経由から誰かが保存されます...
rubyruy

12
:OSXは+のzsh + iTerm2 + CTRL-左/右、次の使用のためにbindkey -e; bindkey '\e\e[C' forward-word; bindkey '\e\e[D' backward-word
アルトゥルBodera

45

zshの実用的なソリューション。シンプルでわかりやすく、すぐに使用できます。

  1. 後藤: ⌘, Preferences → Profiles → Keys → Keyboard Behavior

  2. プリセットのロード: Natural Text Editing

プリセット「自然なテキスト編集」をロード


@Happy Torturerに感謝します。ほとんどの場合、Terminal.appに問題がないので、bash / zshを変更したくなく、Terminal.appのようにすべてを動作させたいので、最良の答えだと思います。
ガルスカク

これ、これ、これ。この解決策をありがとうございます!入手した各Macでこの厄介なプロセスを経験しました。これを実現する最も簡単な方法がわかりました。ありがとうございました!
vernonk

8

このように修正しました:

トップメニュー; に行きます

Profiles 
-> Open profiles... 
-> Edit profiles... (button) 
-> Keys (tab) 
-> Load Preset... (dropdown) 
->  Choose "Natural text editing". Done! :-)

そのプリセットの下にあるのは「工場
出荷時の

7

別のアプローチを使用しました。BetterTouchToolを使用して、iTerm2のカスタムキーボードショートカットをプログラムしました。iTerm2でalt-leftを押すと、キーボードショートカットctrl-leftが "特定のアプリケーションへのキーボードショートカットの送信"アクションと共に送信されます。アプリケーションはiTerm2です。ctrl-rightにマップされたalt-rightについても同じことを行いました。

その結果、iTermでalt-leftまたはalt-rightを押すと、ctrl-leftまたはctrl-rightがiTerm2に直接送信され、通常のシステム全体のショートカットをバイパスしてデスクトップを左右に移動できます。このように、iTerm2でローカルターミナルセッションだけでなく、リモートSSHセッションでも典型的なMacの動作が得られ、標準のctrl-left / ctrl-rightを使用して別のデスクトップに移動できます。ここに書きました:

http://www.callum-macdonald.com/2013/04/17/ctrl-left-and-ctrl-right-on-iterm2/


2
BetterTouchToolはオープンソースではないため、望んでいないことを非常にうまく行える可能性があります。彼は学生だと言いますが、3文字の代理店になることもできます。
16年

7

実際、最も簡単な解決策は、プロファイル設定に移動して(プロファイル/キーにある)、問題のあるプロファイルショートカットを削除することです(プロファイルはiTermでグローバルをオーバーライドするため)、私の場合はalt + leftとalt + right、そしてグローバルショートカットは完璧に機能しました!

また、OS Xを使用している場合は、おそらくシステム全体のショートカットを使用することをお勧めします。つまり、この目的ではなくalt + leftとalt + rightを使用します。

それ以外に、Better Touch Toolを使用するchmacのソリューションは、itermでのみcontrol + arrowの動作を変更するエレガントな方法でした。


実際にはこれが最良のソリューションです。私たちのほとんどがKeysタブに移動するので混乱します。代わりに、Profilesタブ->プロファイル(デフォルトなど)->キーに移動する必要があります。
パスカル

これは間違いなく最も安全で簡単なソリューションです。
16年

2

この投稿では、これと他のショートカットを⌥←Deleteとして単語を削除するように教えています。

http://elweb.co/making-iterm-2-work-with-normal-mac-osx-keyboard-shortcuts/


これは、実際に使用してについてです質問に、答えていない<CTRL> <左>
DavidPostill

必要なのは、ニーズに合ったショートカットを使用することだけです。「<ctrl> <left>」または任意のもの。
セラルト

1
リンクされたページが変更されると回答が無効になる可能性があるため、参照リンクから回答の重要な部分を引用してください。
DavidPostill

1

デフォルトでいくつかの16進値が出力されるProfilesため、タブに移動してalt+ leftalt+のマッピングを削除する必要がありrightます。


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