urxvt + zshで奇妙なバックスペースの動作を修正する方法は?


15

私はurxvtをzshと組み合わせて使用​​します。ただし、ubuntu 10.04の新規インストール以降、次の問題が発生します。backspaceと入力すると、カーソルが右に移動します(左側の文字を削除する代わりに)。

n文字を入力し、バックスペースをn回押すと、カーソルがnポジションだけ左に移動し、バックスペースをもう一度入力すると、カーソルは移動しなくなります。

左矢印を入力しても何も起こらず、その後に右矢印を入力すると、何らかの文字が発生します。

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

これを修正する方法はありますか?

回答:


19

次を.zshrcに追加してみてください。

TERM=xterm

これは私のためにFWIWを修正しました。
セス

5
TERM=xterm-256color256色をサポートするためのより良い使用。
xuhdev

1
urxvtの代わりにxtermを使用して、問題を回避しているだけではありませんか?
villasv

1
はい、これは私にとってもうまくいきました。私はUbuntuとZSHでLinux用のWindowsサブシステム(WSL)を使用していますが、それは長い間私を悩ませていました。これありがとう。
デイ

7

zshでは、何bindkey | grep deleteと言っていますか?これらは私が得る行です:

"^D" delete-char-or-list
"^H" backward-delete-char
"^[3;5~" delete-char
"^[[3~" delete-char
"^?" backward-delete-char

「^?」が必要です バックスペースを表すように。そうでない場合はbindkey "^?" backward-delete-char、zshプロンプトで呼び出すことができます。

これで問題は解決しますか?


1
バインドキー| grep delete "^ D" delete-char-or-list "^?" backward-delete-
学生

1

設定することで問題を回避することもできます

stty erase '^?'

特定の端末エミュレータの逸脱した動作に関する詳細を次に示します(特定のエミュレータがこの問題を抱えている理由です):Linux Backspace / Delete mini-HOWTO


1

それは古いスレッドであり、おそらく誰もこれを見ることはありませんが、私にとっての問題は.Xresourcesファイルにありました。URxvt*termNameパラメーターをurxvtウィンドウタイトルになる文字列と誤解していた。$TERMシェルがそれをオーバーライドしない限り(実際に)、実際には環境変数になりますbash

私の解決策はURxvt*termName: xterm-256color~/.Xresourcesファイルに追加することでした。このファイルの変更と同様に、変更を表示するには、実行xrdb -merge ~/.Xresourcesして完全に再起動する必要がありますurxvturxvtdデーモンプロセスを含む)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.