GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak provést automatické dokončování terminálu, když existuje několik souborů/adresářů?

Pokud mám několik adresářů, například:

afoo abar

někdy můj terminál odmítne automatické doplňování, když stisknu tabulátor (např. „cd a“ a poté tabulátor) a místo toho vytiskne seznam adresářů. Někdy dokonce vydává hlučný, otravný zvuk. Máte nápad, jak provést automatické doplňování v případech, jako je tento? Např. může nejprve zobrazit abar a poté znovu, pokud znovu stisknu tabulátor. Viděl jsem, že je to tak ve Windows nebo nějaké aplikaci v Ubuntu

Nejlepší odpověď

Něco, co mi zachraňuje životy, je nechat procházet možnostmi namísto zobrazování hloupého seznamu.

Jako bash používá readline pro jeho automatické dokončení přidejte do ~/.inputrc následující řádky

Jakmile budete spokojeni a několik dní/týdnů důkladně otestujete níže uvedené řešení, vystřihněte a vložte (nekopírujte!) stejná nastavení z ~/.inputrc do /etc/inputrc který obsahuje celosystémová nastavení a zpřístupňuje je všem uživatelům ve vašem systému (včetně hosta).

Kód:

# mappings to have up and down arrow searching through history:
"e[A": history-search-backward
"e[B": history-search-forward
# mappings to have left and right arrow go left and right: 
"e[C": forward-char
"e[D": backward-char

# mapping to have [Tab] and [Shift]+[Tab] to cycle through all the possible completions:
"t": menu-complete
"e[Z": menu-complete-backward

poté exit váš terminál (nebo vzdálený terminál jako Putty) a znovu jej otevřete…

Příklady:

  1. Když máte 3 soubory:file1 , file2 a file3 a napíšete:

    e fTabTabTab

    bude to procházet:

    e file1
    e file2
    e file3
    

    a když se chcete vrátit zpět, stačí stisknout Shift +Tab

  2. Když napíšete:

    very-complicated-command with lots of command line parameters
    

    a příště budete potřebovat stejný příkaz, stačí napsat:

    very

    a napíše za vás:

    very-complicated-command with lots of command line parameters
    

To vám ušetří spoustu času v bash! 😉


Ubuntu
  1. Jak přizpůsobit automatické doplňování Bash tak, aby vypisovalo soubory v jiném adresáři?

  2. Jak vypsat rekurzivní velikosti souborů a adresářů v adresáři?

  3. Jak skrýt výstup terminálu při provádění příkazu?

  1. Jak zobrazit úplnou cestu k souboru nebo adresáři v terminálu?

  2. Jak udělat, aby tlačítko Unity Terminal otevřelo samostatný terminál?

  3. Chcete, aby Ctrl+t otevřelo novou kartu (chrome), když jste mimo Chrome?

  1. Jak spustit terminál se současným pracovním adresářem jako „domovským“ namísto výchozího „kořenového“?

  2. Jak používat Gsettings, když není uvedeno žádné schéma?

  3. Jak zajistit, aby terminál zůstal na vrcholu?