GNU/Linux >> Znalost Linux >  >> Linux

Jak přemapovat Control-w v Bash?

Četl jsem řadu odpovědí na podobné otázky v tomto fóru i jinde, ale nemohu to zajistit, aby mi to fungovalo.

Snažím se přemapovat Ctrl +W smazat slovo předat spíše než dozadu. Vím, že mohu použít Esc +D udělejte to, ale je to pro mě také učení.

Pomocí toho, co jsem si přečetl, jsem do ~/.inputrc přidal následující :

$include /etc/inputrc
Control-w: kill-word
  • První řádek je zjevně povinný, pokud chci zahrnout další vazby.
  • Za druhé jsem zkusil Control-w a "\C-w" a pro příkaz jsem zkusil kill-word a shell-kill-word .
  • Pro vyzkoušení změn jsem zkusil bind -f ~/.inputrc , Ctrl +X , Ctrl +R , bash -l a jednoduše otevřít nový terminál.

Předpokládám, že jsem vynechal nějaký důležitý krok nebo jsem to jednoduše nepochopil, ale docházejí mi nápady.

Jsem na Centos 8.

Přijatá odpověď:

Knihovna readline (což je to, co inputrc konfiguruje) nastaví vazby odpovídající vazbám ovladače terminálu pro předpřipravený vstup. Tyto klíče jsou běžně známé jako stty klíče, protože je lze konfigurovat pomocí příkazu stty . Ctrl +W je vazba pro smazání předchozího slova (werase ) v rozhraní předpřipraveného terminálu.

Tyto vazby mají v .inputrc přednost před explicitními vazbami . Chcete-li toto chování vypnout, přidejte tento řádek do souboru .inputrc :

set bind-tty-special-chars off

Pokud jste pomocí stty nenakonfigurovali jiné než výchozí předpřipravené vazby kláves terminálu , Myslím, že to neovlivní vaše bashové vazby.


Linux
  1. Jak zjistit Bash>=4.0?

  2. Jak rozdělit řetězec ve skriptu Bash

  3. Jak na to:Neomezená historie Bash/shell?

  1. Jak používat příkazy historie Bash

  2. Jak napsat smyčku v Bash

  3. Jak zkrátit Bash Prompt v Linuxu?

  1. Jak ladit Bash skript?

  2. Jak zřetězit řetězce v Bash

  3. Jak analyzovat soubor CSV v Bash?