Řekněme, že mám 3 soubory v konkrétním adresáři:abc.txt, aww.txt, ant.txt
Pokud ano:cat a
(a stisknutím tabulátoru zobrazíte možnosti) terminál zobrazí 3 názvy souborů:abc.txt, aww.txt, ant.txt
Existuje nějaký způsob, jak vybrat n-tý výsledek místo psaní zadáním čísla indexu ve výsledcích, které terminál zobrazil?
něco jako:cat a2
získat druhý soubor (aww.txt
)?
Přijatá odpověď:
Za předpokladu, že používáte bash, přidejte do ~/.bashrc
následující :
bind '"e[6~": menu-complete'
bind '"e[5~": menu-complete-backward'
Nebo chcete-li změnit výchozí hodnoty pro všechny programy, které používají knihovnu pro dokončení readline, nejen bash, vytvořte soubor ~/.inputrc
obsahující:
$include /etc/inputrc
"e[6~": menu-complete
"e[5~": menu-complete-backward
Nyní, když otevřete nový terminál, můžete stisknout:
- TAB jako obvykle, abyste viděli dostupné dokončení.
- Pg Dn pro výběr prvního dokončení nebo změnu na další.
- Pg Up pro výběr posledního dokončení nebo změnu na předchozí.
- Alt +n Pg Dn pro výběr n-tého dokončení nebo posun vpřed o n dokončení.
Takže pro váš příklad zadejte Pg Dn Pg Dn nebo Alt +2 Pg Dn získat druhý soubor aww.txt
.