GNU/Linux >> Znalost Linux >  >> Linux

Jak vytvořit Linuxové makro a funkční klávesové vazby v souboru .intputrc

Readline vám také poskytuje možnost mapovat vaše vlastní klávesové zkratky úpravou konfiguračního souboru .inputrc ve vašem domovském adresáři.

Zde jsou dva typy vlastních klávesových zkratek, které můžete definovat:

  1. Makra
  2. Funkce

Makra

Můžete definovat klávesovou zkratku, která po spuštění vyplní řetězec znaků na aktuální pozici kurzoru. Chcete-li to provést, přidejte do svého konfiguračního souboru .inputrc řádek s následujícím formátem (nebo vytvořte soubor, pokud ještě neexistuje):

<key combination>: "<string of characters>"

Řekněme například, že opakovaně přesměruji výstup do souboru „~/debug_output.txt“. Mohl bych definovat makro v mém .inputrc přidáním následujícího řádku:

Control-g: " > ~/debug_output.txt"

Nyní, kdykoli napíšu kombinaci kláves Control-g, bude za kurzor přidán příkaz přesměrování, což mi umožní snadno jej připojit na konec ostatních příkazů.

Při vytváření maker mějte na paměti následující:

  • Dokážu hláskovat kombinace kláves v angličtině (Další informace o tom najdete v manuálové stránce bash. Vyhledejte sekci „Readline Key Bindings“)
  • Posloupnost znaků, která má být vložena makrem, musí být uzavřena do dvojitých uvozovek (“)
  • Volba Control-g byla libovolná, mohli jste si vybrat kombinaci, která je pro vás smysluplnější.
  • Je možné přepsat výchozí klávesové zkratky (pamatujte na to, když definujete své vlastní)
  • Aby se klávesová zkratka projevila, musíte spustit novou instanci shellu (konfigurační soubor .inputrc se načte při spuštění shellu)

Funkce

Můžete také vytvořit klávesovou zkratku, která po spuštění zavolá funkci. Readline poskytuje velké množství předdefinovaných funkcí, ze kterých si můžete vybrat. Mapování kombinace kláves na předdefinovanou funkci:

<key combination>: <function-name>

Seznam dostupných předdefinovaných funkcí naleznete v příručce GNU Readline.

Je také možné definovat své vlastní uživatelské funkce, ale to vyžaduje jejich psaní v C a je mimo rozsah tohoto tutoriálu. Můžeme to probrat později jako samostatný tutoriál.

Jedna užitečná předdefinovaná funkce je kompletní menu. Poskytuje alternativní chování automatického dokončování.

Výchozí chování pro automatické dokončování (mapované na klávesu TAB) je buď:

  • vyplňte částečný příkaz/adresář/název souboru, pokud existuje jedna shoda
  • zobrazit seznam možných shod, pokud existuje více než 1

menu-complete bude místo toho procházet seznamem možných shod a vyplní další možnou shodu při každém volání funkce. Toto chování může být příjemné, zejména při automatickém doplňování delších názvů souborů. Chcete-li přemapovat klávesu TAB pro použití tohoto chování, přidejte do souboru .inputrc následující řádek.

TAB: menu-complete

Všimněte si, že tato nová klávesová zkratka se v aktuálním shellu neprojeví, musíte spustit novou instanci, abyste znovu načetli konfigurační soubor .inputrc

V tomto tutoriálu jsme se dozvěděli, že klávesové zkratky příkazového řádku Linuxu jsou poháněny nástrojem s názvem Readline. Klávesová zkratka může být 1 ze 2 typů:

  • Makro:rozšiřuje posloupnost znaků
  • Funkce:provede akci

Readline nám poskytuje sadu výchozích klávesových zkratek, ale také nám poskytuje flexibilitu při vytváření vlastních v konfiguračním souboru .inputrc. Nakonec, abychom viděli všechny aktuální klávesové zkratky, můžeme použít příkaz „bind“.

bind -p

Linux
  1. Jak vytvořit soubor ZIP chráněný heslem v systému Linux

  2. Jak vytvořit nebo zvětšit swapový prostor v Linuxu

  3. Jak přesměrovat výstup do souboru a Stdout v Linuxu

  1. Jak vytvořit swap v Linuxu

  2. Co je NFS a jak jej nainstalovat na Linux

  3. Jak vytvořit odkládací soubor v Linuxu

  1. Jak zašifrovat a dešifrovat soubor pomocí GnuPG v Linuxu

  2. Jak vytvořit a připojit souborové systémy v Linuxu

  3. Jak vytvořit soubor v Linuxu z okna terminálu?