Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to map Delete and End keys on tcsh shell?

I use tcsh , and when Delete/End is pressed on cmd line, it simply shows up as ~ ; I have to press <Ctrl><e> to go to end of line. Can anyone help me to be able to use Delete/End keys as their name suggests ?

like image 981
TCSGrad Avatar asked Dec 16 '09 04:12

TCSGrad


2 Answers

Those keys already worked on my Debian system. I found these commands in the /etc/csh.cshrc file:

if ($?tcsh && $?prompt) then
        bindkey "\e[1~" beginning-of-line # Home
        bindkey "\e[7~" beginning-of-line # Home rxvt
        bindkey "\e[2~" overwrite-mode    # Ins
        bindkey "\e[3~" delete-char       # Delete
        bindkey "\e[4~" end-of-line       # End
        bindkey "\e[8~" end-of-line       # End rxvt
endif
like image 100
Teddy Avatar answered Oct 27 '22 09:10

Teddy


You need to use the bindkey builtin. See the tcsh man page discussion for details (search for 'bindkey'), but you want to add a line like

bindkey [end] end-of-line

to your .cshrc or .tcshrc file, replacing '[end]' with the actual end keypress. See this page for the list of binding names and helpful examples.

like image 21
ire_and_curses Avatar answered Oct 27 '22 10:10

ire_and_curses