web-dev-qa-db-ja.com

iTerm2で1つ前のWordに戻るには、どうしたらCtrl +左矢印キーを押すことができますか?

Linuxのマニュアルを読んでいて、編集中にCtrl + LeftとControl + Rightを使って端末内の単語を前後に移動できると言っていました。

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

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

enter image description here

enter image description here

しかしこれははたらかないし、このエラーを引き起こします:

enter image description here

また、私がiTermにいるときにalt+escape、次にBまたはFを使用すると、文字は前後に移動します。これは私の設定変更の前に起こっていました。しかし、私は本当にCtrl +矢印キーを使用できるようにしたいです。

110
cwd

bash

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

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

もっと詳しい説明は このアーカイブWiki記事 を見てください。あなたが使用したい場合 alt WordからWordへの移動ではなく(デフォルトのOS Xの動作のように)、keyを使います。

"\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のデフォルトを使用するようにプロファイルを設定しました。

enter image description here

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


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

mission control keyboard prefs

132
slhck

Zsh用のワーキングソリューション。シンプルでわかりやすい、すぐに使える.

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

  2. プリセットの読み込み:Natural Text Editing

Load Preset "Natural Text Editing"

41
Happy Torturer

実際のところ、最も簡単な解決策は自分のプロファイル設定(Profiles/Keysにあります)に行き、問題のあるプロファイルショートカット(iTermではprofileがglobalをオーバーライドするので)を削除することです。ショートカットは私にとって完璧に機能しました!

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

Better Touch Toolを使用するというchmacの解決策以外に、control + arrowの動作をitermのみで変更するためのエレガントな方法がありました。

7
nayyarv

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

トップメニューにに行く

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

私は別の方法を使いました。使い方 BetterTouchTool iTerm2用のカスタムキーボードショートカットをプログラムしました。私がiTerm2でalt-leftを押すと、それはアクション「キーボードショートカットを特定のアプリケーションに送る」と共にキーボードショートカットctrl-leftを送ります。アプリケーションはiTerm2です。 alt-rightをctrl-rightにマッピングするために同じことをしました。

その効果は、iTermでalt-leftまたはalt-rightを押すと、通常のシステム全体のショートカットを迂回してデスクトップを左または右に移動することで、ctrl-leftまたはctrl-rightを直接iTerm2に送信することです。このように、私はiTerm2の典型的なMacの振る舞いをローカル端末セッションでもリモートSSHセッションでも得られます。そして私は標準的なctrl-left/ctrl-rightを使って別のデスクトップに移動することができます。私はここにそれを書きました:

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

7
chmac

この投稿では、これと他のショートカットをas←という単語で教えています。

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

2
Seralto

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

1
Sid