Zshと組み合わせてurxvtを使用します。ただし、ubuntu 10.04の新規インストール以降、次の問題が発生します。 backspaceと入力すると、カーソルが右に移動します(左側の文字を削除する代わりに)。
N文字を入力し、バックスペースをn回押すと、カーソルがnポジション左に移動したとします。バックスペースを1回入力すると、カーソルは移動しなくなります。
左矢印を入力しても、右矢印を入力しても何も起こりません後文字が発生します。
mv .zshrc .zshrc.bak
mv .Xdefaults .Xdefaults.bak
助けにならなかった。
urxvt + bashは、xterm + zshと同様に正常に動作します。
zsh-version:4.3.11-4ubuntu2.is.3ubuntu1 rxvt-unicodeバージョン:9.09-3
これを修正する方法はありますか?
次を.zshrcに追加してみてください。
TERM=xterm
Zshでは、bindkey | grep delete
は何と言っていますか?これらは私が得る行です:
"^D" delete-char-or-list
"^H" backward-delete-char
"^[3;5~" delete-char
"^[[3~" delete-char
"^?" backward-delete-char
「^?」が必要ですバックスペースを表すように。そうでない場合は、zshプロンプトでbindkey "^?" backward-delete-char
を呼び出して、入力することができます。
これで問題は解決しますか?
それは古いスレッドであり、おそらく誰もこれを見ることはありませんが、私にとっての問題は.Xresources
ファイルにありました。 URxvt*termName
パラメータをurxvt
ウィンドウタイトルになる文字列として誤って解釈していました。実際、シェルがそれをオーバーライドしない限り(bash
がオーバーライドしない限り)、$TERM
環境変数になります。
私の解決策は、URxvt*termName: xterm-256color
を~/.Xresources
ファイルに追加することでした。このファイルの変更と同様に、変更を表示するには、xrdb -merge ~/.Xresources
を実行し、urxvt
(urxvtd
デーモンプロセスを含む)を完全に再起動する必要があります。
設定することで問題を回避することもできます
stty erase '^?'
特定のターミナルエミュレータの逸脱した動作に関する詳細を次に示します(特定のエミュレータにこの問題がある理由です)。 Linux Backspace/Delete mini-HOWTO 。