Diciamo che ho 3 file in una directory particolare:abc.txt, aww.txt, ant.txt
Se lo faccio:cat a
(e premi tab per vedere le opzioni) il terminale visualizzerà i 3 nomi di file:abc.txt, aww.txt, ant.txt
C'è un modo per selezionare l'ennesimo risultato invece di digitare, specificando il numero di indice nei risultati visualizzati dal terminale?
qualcosa come:cat a2
per ottenere il secondo file (aww.txt
)?
Risposta accettata:
Supponendo che tu stia usando bash, aggiungi quanto segue al tuo ~/.bashrc
:
bind '"e[6~": menu-complete'
bind '"e[5~": menu-complete-backward'
Oppure, per modificare le impostazioni predefinite per tutti i programmi che utilizzano la libreria di completamento readline, non solo bash, crea il file ~/.inputrc
contenente:
$include /etc/inputrc
"e[6~": menu-complete
"e[5~": menu-complete-backward
Ora quando apri un nuovo terminale, puoi premere:
- TAB normalmente per vedere i completamenti disponibili.
- Pag No per selezionare il primo completamento o passare al successivo.
- Pag su per selezionare l'ultimo completamento o passare a quello precedente.
- Alt +n Pag No per selezionare l'ennesimo completamento o avanzare di n completamenti.
Quindi per il tuo esempio digita Pg Dn Pag No o Alt +2 Pag No per ottenere il secondo file aww.txt
.