Io uso tcsh e quando si preme Delete/End su linea cmd, appare semplicemente come ~
; Devo premere <Ctrl><e>
per andare a fine riga. Qualcuno può aiutarmi ad essere in grado di utilizzare i tasti Elimina/Fine come suggerisce il loro nome?Come mappare i tasti Delete e End sulla shell tcsh?
risposta
Queste chiavi funzionavano già sul mio sistema Debian. Ho trovato questi comandi nel file /etc/csh.cshrc
:
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
È necessario utilizzare il bindkey
integrato. Vedi la discussione tcsh man page per i dettagli (la ricerca di 'bindkey'), ma si desidera aggiungere una linea come
bindkey [end] end-of-line
al file .cshrc
o .tcshrc
, sostituendo '[fine]' con l'attuale fine pressione di un tasto. Vedere this page per l'elenco di nomi di binding ed esempi utili.
Corretto, ma quando si digita la riga sopra (sto usando vim), si deve sostituire [fine] con '
C'è una grande risorsa che fissa incongruenze con delete/backspace here. Il documento affronta anche la mappatura home/end, anche se questo non è l'obiettivo.
Sì, ho ricevuto quel documento da Google, ma era troppo generalizzato (per non aggiungere enormi !!) ... Credo che tu sia più paziente di quanto lo sia io !! :) – TCSGrad
Ho scoperto che invece di memorizzare la sequenza criptica \ e [puoi digitare direttamente: 'bindkey delete-char' - in questo modo non è necessario cercare la sequenza !! :) In ogni caso, la tua è stata la risposta più completa !! –
TCSGrad