私は最近bashからzshに切り替えましたが、私は Alt+LeftArrowKey そして Alt+RightArrowKey 一度に言葉を行き来する。
今、私が押すと Alt+LeftArrowKey 私は数通の手紙に戻り、それから立ち往生しています。私はこれ以上逆行せず、行末まで戻りません Alt+RightArrowKey 私が期待するように。矢印キーを使用して行の最後まで移動することもできず、最後から2番目の行までしか移動できません。行に新しい文字を入力することも、実際に削除することもできません。
お気に入りのショートカットを元に戻すにはどうすればよいですか?
それが重要な場合は、Mac OS Xでターミナルを使用しています。
cat
を実行し、キーを押してショートカットが送信するコードを確認します。
(押す Ctrl+C 完了したらcat
を強制終了します。)
私にとっては、(ubuntu、konsole、xterm)を押す Alt+← ^[[1;3D
ので、。zshrcに入れます
bindkey "^[[1;3C" forward-Word
bindkey "^[[1;3D" backward-Word
(実際に使用したい Ctrl +矢印は、WindowsまたはLinux guiの下の通常のテキストボックスのように、WordごとにWordを移動します。
関連質問: ターミネーターターミナルエミュレーターでZshを実行している場合の.zshrcでのキー設定(ホーム/終了/挿入/削除)の修正
シェルに関係なく、iTermを使用しているユーザー向け
私の意見では、ここで提供されるすべてのソリューションは後方アプローチを採用しています。基本的に、端末に設定したescシーケンスまたはその他のキーバインディングをリッスンするようシェルに指示し、シェルを切り替えると互換性の問題が発生します(他のシェルにSSHで接続する場合、BASHからZSHに切り替えるなどして失うすべてではありませんが、いくつかのキーバインディング)。
ほとんどのシェルには、事前にバインドされた一連のデフォルトシーケンスがあります。さらに、100%の一貫性はありませんが、十分に近いものです。したがって、シェルで特定のアクションのキーバインドを作成する最も簡単な方法は、シェル間で一貫性のあるデフォルトのキーバインドにバインドするよう端末アプリケーションに指示することです。
私はあなたの端末をネイティブのMacキーバインディングに近いものとして応答させるための圧縮ソリューションを書きました here
ITerm設定を開きます ⌘+, Profiles
タブに移動します(Keys
タブを使用できますが、プロファイルにキーバインドを追加すると、 プロファイルを保存 して複数のコンピューターと同期できます)およびkeys
サブタブで、次を入力します。
カーソルを1単語左に移動
⌥+← 16進コードを送信:
0x1b 0x62
カーソルを1単語右に移動
⌥+→ 16進コードを送信:
0x1b 0x66
ZSHだけでなく、BASH、irb/pry、ノードなどを実行しているサーバーにSSHで接続する場合にも、望ましい動作が得られるはずです。
以下を〜/ .zshrcに追加すると、OSX Mountain Lionで機能しました。
bindkey -e
bindkey '[C' forward-Word
bindkey '[D' backward-Word
MacOS High Siera 10.13.6またはMojave 10.14.2およびZSHでiTerm2を使用する場合
bindkey "\e\e[D" backward-Word
bindkey "\e\e[C" forward-Word
別の解決策は、rmeのために動作しません
厳密にあなたの質問に答えているわけではありませんが、forward-Word
とbackward-Word
のデフォルトのバインディングはalt-f
です。 alt-b
。
これはどこでも機能し、ホーム行を離れる必要がなく、ニースのニーモニックプロパティ(f = forward、b = back)を持ち、ctrl-f
およびctrl-b
であるforward-character
およびbackward-character
。
矢印キーを外します!
Mavericks(10.9.4)では、コードは1; 5 ...です。したがって、矢印でaltをバインドするために、これを使用する.zshrcがあります。
bindkey "^[[1;5C" forward-Word
bindkey "^[[1;5D" backward-Word
CTRL + Vを使用してから、使用するコマンドを使用できます
ヨセミテではロブのソリューションを使用
私のためにそれを機能させるには、 この答え を使用しましたが、コードを交換する必要がありました(左<->右)
⌥+←16進コードの送信:0x1b 0x66
⌥+→16進コードの送信:0x1b 0x62
~/.zshrc
に次を追加します
bindkey -e
bindkey "^[b" forward-Word
bindkey '^[f' backward-Word
Zshでは、bindkey
コマンドを使用してキーボードショートカットを表示できます。
bindkey
を使用して、カスタムキーバインドなしで使用可能なオプションを調べます。
すなわち^[b
Wordを後方に移動し、^[f
単語を進める。