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:
-
Když máte 3 soubory:
file1
,file2
afile3
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
-
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