In other terminals, like xterm and konsole, the HOME and END keys perform the expected function of moving to the beginning or ending of a line, respectively. In urxvt, however, these key-presses resulted either appending a tilde to the end of the line or, if using zsh, converting the last letter of the line to uppercase. I Googled this problem extensively, and found the following solution, which I implemented in .inputrc
This fixed the problem for urxvt + csh, but for zsh, the uppercase problem persists (I noticed that it also enters 'vi mode' after these key-presses because, for instance, x = delete) with the following bind setup in .zshrc:
Any suggestions?
Code:
set completion-query-items 100
set completion-ignore-case on
set show-all-if-ambiguous off
set input-meta on
set output-meta on
set convert-meta off
set bell-style none
"\e[2~": paste-from-clipboard
"\e[3~": delete-char
"\e[5~": beginning-of-history
"\e[6~": end-of-history
"\e[7~": beginning-of-line
"\e[8~": end-of-line
This fixed the problem for urxvt + csh, but for zsh, the uppercase problem persists (I noticed that it also enters 'vi mode' after these key-presses because, for instance, x = delete) with the following bind setup in .zshrc:
Code:
*xterm*|(u)rxvt|(u|dt|k|E)term)
bindkey '\e[1~' beginning-of-line
bindkey '\e[3~' delete-char
bindkey '\e[4~' end-of-line
bindkey '\177' backward-delete-char
bindkey '\e[2~' overwrite-mode
bindkey "\e[7~" beginning-of-line
bindkey "\e[H" beginning-of-line
#bindkey "\e[2~" transpose-words
bindkey "\e[8~" end-of-line
bindkey "\e[F" end-of-line
bindkey "\eOH" beginning-of-line
bindkey "\eOF" end-of-line
bindkey "^R" history-incremental-search-backward
Any suggestions?