回答:
FWIW、これは私の環境(rhel5.x)でzshのデフォルトを使用して機能したものです。
bindkey "^[[1;5C" forward-word
bindkey "^[[1;5D" backward-word
^[^[[D
および^[^[[C
、それぞれ、OSX
.zshrc
デフォルトで組み込まれていないのか不思議に思っています。
$terminfo
キー:エスケープシーケンスの代わりに$terminfo[kLFT5]
と$terminfo[kRIT5]
私のために働いた
行末にカーソルがあるため、Ctrl + Uが最も可能性が高いです。第二に、Gentooのどのバージョンを「最後のシステムアップデート」と呼んでいますか?
そして、Ctrl +左/右で何をしたいですか?
bindkey '^[[1;5C' emacs-forward-word
bindkey '^[^[[D' emacs-backward-word
bindkey ";5C" forward-word
bindkey ";5D" backward-word
注:構成は機能するが、想定されているキーがcat > /dev/null
期待どおりに機能しない場合は、おそらくキー定義が自分のものとは異なるためです:
出力を取得し、それに応じて調整するキーを押します。
動作するものは、ディストリビューション(Gentoo、Debian、RHELなど)やシェル(ZSH、KSH、BASH)に直接依存しません - terminal emulator
使用するものとその設定に依存します:konsole、terminator、urxvt、lx-terminalなど。別の標準シェル設定(fx。.zshrc)を使用している場合、および別のシェルを使用している場合は、そのディストリビューションのシェル設定がすでに処理する可能性があります。
次に、ターミナルエミュレータ固有のソリューションをいくつか示します。
urxvt / rxvt-unicode(およびその他)
bindkey "^[Od" backward-word
bindkey "^[Oc" forward-word
ターミネーター、konsole、xterm(およびその他)
bindkey "^[[1;5D" backward-word
bindkey "^[[1;5C" forward-word
ターミナルを起動するより一般的な方法では、CTRL-Vを押してからエスケープコード(名前)が必要なキーの組み合わせ(この場合はCTRL-leftarrowとCTRL-rightarrowのキーの組み合わせ)を押し、それぞれの出力を配置します2つの引用符の間のキーの組み合わせ。
terminal emulator
使用方法に応じて複数のソリューションがあります。ディストリビューションやシェルは関係ありません。1つのターミナルエミュレーターで機能するものが別のターミナルエミュレーターで機能しないため、.zshrcに含まれていない理由もおそらくあります。ただし、zshrc fxの場合はおそらく解決できます。$ TERM環境変数を読み取り、結果に基づいて異なるバインドキー設定を適用しました。