Для виявлення прив'язки читання рядків, які вбивають слово назад, як хочете, ви можете використовувати таку команду у своєму терміналі:
bind -p | awk '/kill/ && /word/ && /backward/'
У установці Ubuntu за замовчуванням вихід може бути:
"\e\C-h": backward-kill-word
# shell-backward-kill-word (not bound)
Другий рядок на даний момент здається не важливим, тому спробуємо розібратися, що означає перший рядок. З того, що я розумію, backward-kill-word
функція Readline , яка насправді видалити всі символи недо попередній спеціальний символ ( /
, ;
, і ,
т.д.) прив'язаний до \e\C-h
послідовності клавіш. Тепер, в цій послідовності \e
являє на Escключ, \C
- на Ctrlключ, і \C-h
виступає за Ctrl+ , hяка еквівалентна в цьому випадку з Backspaceключем.
Отже, ви шукаєте комбінацію клавіш Esc+ Ctrl+,h яка еквівалентна Esc+Backspace і яка через поведінку xterm, яка змушує Altклавішу діяти як мета-символ, а мета-символи перетворюються в двосимвольну послідовність із самим символом Esc(див. Див. man xterm
) , еквівалент Alt+Backspace .
Тепер, якщо вам це не подобається, і ви продовжуєте його забувати, ви можете скористатись такою командою для створення нового ярлика, скажімо Esc+ w, для вашої мети:
bind '"\ew": backward-kill-word'
Щоб зробити цю нову ярлик стійкою весь час для всіх команд, в яких використовується лінія зчитування, додайте у ~/.inputrc
файл наступний рядок рядка :
"\ew": backward-kill-word
Див. Для help -m bind | sensible-pager
отримання додаткової інформації.
alt
+.
?