Preztoのインストール後、Ctrl - 矢印は機能しなくなりました。

Preztoのインストール後、Ctrl - 矢印は機能しなくなりました。

私のもの.inputrc

"\e[A": history-search-backward
"\e[B": history-search-forward
set show-all-if-ambiguous on
set completion-ignore-case on

# mappings for Ctrl-left-arrow and Ctrl-right-arrow for word moving
"\eOc": forward-word
"\eOd": backward-word
"\e[1;5C": forward-word
"\e[1;5D": backward-word
"\e[5C": forward-word
"\e[5D": backward-word
"\e\e[C": forward-word
"\e\e[D": backward-word

.zprezto/modules/editor/init.zshまた、ディレクティブを定義するものには触れませんでした。bindkey

ただし、ボタンを押すかCtrlLeft端末CtrlRight(URxvt)が点滅しても何も起こりません。一方、XTermでは動作します。これはURxvtの問題のようです。

答え1

ファイル~/.inputrcはbashファイルであり、zsh私が知っている限り、そのようなファイルではありません。制御する動作は次のとおりですreadlinezshzle。次のコマンドを使用して動作を変更できます。bindkey注文する。

Ctrl Leftしたがって、往復するには、Right次の行をあなたの行に追加します~/.zshrc(同等のより良い場所があるかもしれませんが、~/.inputrc私はそれを知らずに~/.zshrc動作します):

bindkey "\eOc" forward-word
bindkey "\eOd" backward-word
bindkey "\e[1;5C" forward-word
bindkey "\e[1;5D" backward-word
bindkey "\e[5C" forward-word
bindkey "\e[5D" backward-word
bindkey "\e\e[C" forward-word
bindkey "\e\e[D" backward-word

答え2

表示されるキーバインディングは、xterm(およびxtermの動作を複製するプログラム)用です。 urxvtはい、サブアイテムにrxvt使用されます。その他キーバインディング。デフォルトでcontrolleftは、rxvt / urxvt sendの場合はescapeOdこれを確認できます。

cat -v

そしてキーの組み合わせを入力してください。^[Od他のカーソルキーにも同じ問題が適用されます。

urxvt利用可能なリソース設定keysym.sym(で紹介した機能の拡張)を提供します。rxvtできるより密接に一致するように、これらのエンドポイントで送信されたキーを変更するために使用されますxterm。これは次のリソース設定になります。

URxvt.keysym.Control-0xff51:    \033[1;5D

ここで(マンページに示すように)Controlは修飾子で、左0xff51カーソルキーのコードです。を使用できますxev

すべてのキーを取得するには、各キー(および修飾子)のリソースを追加する必要があります。

追加資料:

関連情報