我将 urxvt 与 zsh 结合使用。但是,自从我新安装了 ubuntu 10.04 以来,我遇到了以下问题。如果我输入退格键,光标会向右移动(而不是删除左侧的字符)。
假设我输入了 n 个字符,然后按 n 次退格键会将光标向左移动 n 个位置,如果我再按一次退格键,光标就不会再移动了。
如果我输入左箭头,什么也不会发生,如果我输入右箭头然后出现某个字符。
mv .zshrc .zshrc.bak
mv .Xdefaults .Xdefaults.bak
没有帮助。
urxvt + bash 和 xterm + zsh 运行良好。
zsh 版本:4.3.11-4ubuntu2.is.3ubuntu1 rxvt-unicode 版本:9.09-3
知道如何修复这个问题吗?
答案1
尝试将以下内容添加到您的 .zshrc:
TERM=xterm
答案2
在 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 提示符下输入它。
这能解决问题吗?
答案3
答案4
这是一个老话题,可能没人会看到,但对我来说问题出在文件中.Xresources
。我错误地将URxvt*termName
参数解释为将成为窗口标题的字符串urxvt
。事实上,$TERM
除非 shell 覆盖它(bash
确实如此),否则它将成为环境变量。
我的解决方案是添加URxvt*termName: xterm-256color
到~/.Xresources
文件中。与对此文件的任何更改一样,您需要运行xrdb -merge ~/.Xresources
并完全重新启动urxvt
(包括urxvtd
守护进程)才能显示更改。