回答:
ここで解決策を見つけました:https : //coderwall.com/p/h6yfda。リンクがダウンした場合に備えて、最も重要な部分をコピーします。
キーワードbackward-word
とを探していforward-word
ます。そのbindkey -L | grep backward-word
ため、キーバインドが機能しないシェルを使用している場合は、それらが設定されているかどうかを確認してください。これについての詳細はzshzle(1)にあります。
次のように入力して、キーバインドを手動で設定できます。
bindkey ' Ctrl+ v Alt+ Right'前方ワード
bindkey ' Ctrl+ v Alt+ Left'バックワード
キーバインドにもいくつかの問題がありましたが、ほとんどの場合、問題はOption / Altキーが予想されるMeta / Escapeとは異なるものを送信したことでした。
emacs-forward-word
およびを使用することもできますemacs-backward-word
。違いは、常に単語の先頭にジャンプするのではなく、単語の末尾に前方にジャンプし、単語の先頭に後方にジャンプすることです。
私はiTermについて話すことはできませんが、これらは、Oh-my-zshでZSH 5.0.7を実行するFedora 19のGNOMEターミナルでこの問題を解決するために使用したキーバインドです。
bindkey "\e[1;3C" forward-word
bindkey "\e[1;3D" backward-word
where \e
==エスケープキーシーケンス(セクション4.1.1で文書化されているように)
および[
== O
(大文字のO。セクション4.2.1で文書化されているように)、場合によっては。たとえば、tmux
この置換は私にとってtmux
必要ですが、置換なしで[
== が必要です。[
シーケンスのキーコードはcat
、目的のシーケンスを使用して押して取得できます。たとえば、押すことの結果は次の<Alt+Right>
ように解釈される必要があります。
$ cat
^[[1;3C
^[
== \e
==エスケープキーシーケンス
[
== [
なしtmux
OR
[
== O
(大文字のo)ありtmux
1;3
==これについてはわかりませんが、論理的には <Alt>
C
==右矢印キー
そして、このシーケンスはに与えられているbindkey
中で~/.zshrc
、最初の引数として、永続性のためにファイルされ、バインドされ、ウィジェットに、引数1でキーストロークは(zshの用語でウィジェットまたは)特定のエディタコマンドを実行することを意味し、最初にどの上記の例の行はforward-word
です。
~/.zshrc
これら二つのコマンドをして、それに付加された後に再調達する必要があります。
$ source ~/.zshrc
私のシステムでの迷惑な点の1つは、この特定の組み合わせにより、コマンドが発行されるたびに端末エミュレーターがビープ音を鳴らしたことです。これは、
'Edit'->'Profile Preferences'->'Terminal Bell'
チェックボックス。
iTerm2のコマンドラインナビゲーションをより直感的にすることに関して、私にとって最も効果的なのは(私はコマンドラインで成長しなかった若い大人ですが、テキストエディターとIDEで多くの時間を費やしました)に:
Natural Text Editing
プリセット]ドロップダウンでオプションを選択します。これにより、すべてのオプションを個別に変更することなく、エディターのキーがより標準的な配置にデフォルト設定されます。
zkbd
キーバインドの設定に使用することをお勧めします。私はそれを使用し、iTerm2でAlt+ Left/ Alt+ Rightは正常に動作します。zshcontrib(1)
zkbdの詳細を参照してください。
FOO=BAR
zshには1ワード、bashには2ワードです。同様に、カーソルをfoo --bar
altの最後に設定してalt + backspaceを実行すると、bashにfoo --
なり、zshになりますfoo
。Zshはbashに多くの機能を追加しますが、オーバーライドする非常識なデフォルトもたくさんあります。