zsh equivalente di bash show-all-if-ambiguous?


8

In bash, se premi tab quando ci sono più possibili completamenti ottieni un elenco di corrispondenze che continua a ristampare se premi ripetutamente tab. In tcsh, anche l'impostazione del completamento automatico su avanzato consente di ottenere questo risultato.

In zsh, ottieni l'elenco delle partite, ma alla seconda, terza scheda premi inizia a scorrere le partite. C'è un modo per fare in modo che zsh faccia l'equivalente dello show all-if-if-ambigu di bash senza andare in bicicletta?

Non sto cercando l'intelligente ma inutile "perché dovresti premere più volte la scheda se visualizzato dopo il primo?". Se fossi stato in grado di modificare le mie abitudini lo avrei già fatto.

Risposte:


5

Zsh ha molte opzioni relative al completamento (vedi man zshoptionssotto Completion). Penso che tu sia dopo setopt no_auto_menue forse setopt bash_auto_listanche.


Scusa, ho formulato male la mia domanda. Voglio sapere come disabilitare il ciclo di completamento delle schede. Penso che inizierò una nuova domanda.

3
@ user714112: setopt no_auto_menudisabilita il ciclo di completamento della scheda: se si preme Tabe il prefisso corrente è ambiguo, viene visualizzato un menu e il gioco è fatto, la riga di comando non cambierà.
Gilles 'SO- smetti di essere cattivo' il

Grazie, hai ragione. Non sono sicuro del perché non l'ho visto prima. È possibile farlo visualizzare di nuovo l'elenco nella 2a, 3a, 4a SCHEDA invece di niente? L'istinto umano è pensare che la tua tastiera non funzioni se non accade nulla al 2 °, 3 °, 4 ° tasto.
Sridhar Sarnobat,

@ user7000: Ancora una volta, visualizza nuovamente l'elenco ogni volta che si preme Tab. Se pulisco lo schermo dal menu dell'emulatore di terminale o creo un file, quindi premo di Tabnuovo, zsh visualizza di nuovo l'elenco e mostra il nuovo file. (Appena testato con zsh 4.3.4, e non credo che il comportamento sia cambiato da molto tempo.)
Gilles 'SO- smetti di essere malvagio'

1
Finalmente ho ottenuto la soluzione. Avevo bisogno delle tue 2 opzioni più la rimozione di ALWAYS_LAST_PROMPT. Quindi questo mi dà il comportamento sfuggente che volevo: setopt bash_auto_list; setopt no_auto_menu; unsetopt ALWAYS_LAST_PROMPT; Ancora una volta, grazie per avermi aiutato con questo. Apprezzo la tua perseveranza
Sridhar Sarnobat,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.