Aby wykryć powiązanie readline, które zabija słowo do tyłu, jak chcesz, możesz użyć następującego polecenia w terminalu:
bind -p | awk '/kill/ && /word/ && /backward/'
W domyślnej instalacji Ubuntu dane wyjściowe mogą być:
"\e\C-h": backward-kill-word
# shell-backward-kill-word (not bound)
Druga linia wydaje się w tym momencie bez znaczenia, więc spróbujmy zobaczyć, co oznacza pierwsza linia. Z tego co rozumiem, backward-kill-wordfunkcji readline, który w rzeczywistości usunąć wszystkie znaki aż poprzedni znak specjalny ( /, ;, ,itd) jest związany z \e\C-hsekwencji klawiszy. Teraz, w tej kolejności \e przedstawia się Escklucz, \C- na Ctrlklucz, a \C-hstoi za Ctrl+ h, który jest równoważny w tym przypadku z Backspacekluczem.
Szukamy więc skrótu klawiaturowego Esc+ Ctrl+,h który jest równoważny z Esc+Backspace i który z powodu zachowania xterm sprawia, że Altklucz działa jako znak meta, a znaki meta są konwertowane na sekwencję dwóch znaków, a sam znak poprzedza Esc(patrz man xterm) , jest równoważne z Alt+Backspace .
Teraz, jeśli ci się nie podoba i nadal go zapominasz, możesz użyć następującego polecenia, aby utworzyć nowy skrót, powiedzmy Esc+ w, do swojego celu:
bind '"\ew": backward-kill-word'
Aby ten nowy skrót był stały przez cały czas dla wszystkich poleceń korzystających z readline, dodaj do ~/.inputrcpliku następującą linię :
"\ew": backward-kill-word
Zobacz help -m bind | sensible-pagerwięcej informacji.
alt+.?