Per rilevare l'associazione readline che uccide una parola all'indietro come desideri, puoi usare il seguente comando nel tuo terminale:
bind -p | awk '/kill/ && /word/ && /backward/'
In un'installazione predefinita di Ubuntu, l'output potrebbe essere:
"\e\C-h": backward-kill-word
# shell-backward-kill-word (not bound)
La seconda riga sembra senza importanza a questo punto, quindi proviamo a vedere cosa significa prima riga. Da quello che ho capito, la backward-kill-word
funzione di readline che di fatto elimina tutti i caratteri fino a quando il carattere speciale precedente ( /
, ;
, ,
ecc) è legata alla \e\C-h
sequenza di tasti. Ora, in questa sequenza \e
rappresenta la Escchiave, \C
- la Ctrlchiave, e \C-h
sta per Ctrl+ hche è equivalente in questo caso con Backspacechiave.
Quindi, stai cercando Esc+ Ctrl+h scorciatoia da tastiera che è equivalente a Esc+Backspace e che, a causa del comportamento di xterm che rende la Altchiave per agire come meta carattere e meta caratteri vengono convertiti in una sequenza di due caratteri con il carattere stesso preceduto da Esc(vedi man xterm
) , è equivalente a Alt+Backspace .
Ora, se non ti piace e continui a dimenticarlo, puoi usare il comando seguente per creare un nuovo collegamento, diciamo Esc+ w, per il tuo scopo:
bind '"\ew": backward-kill-word'
Per rendere persistente questo nuovo collegamento per tutti i comandi che utilizzano readline, aggiungere la seguente riga al ~/.inputrc
file:
"\ew": backward-kill-word
Vedi help -m bind | sensible-pager
per maggiori informazioni.
alt
+.
?