Completamento della scheda del nome file non rotante simile a un bash con PowerShell


8

Sotto Windows, usando PowerShell, è possibile far funzionare il suggerimento per il nome del file (usando la Tabchiave) come con bash sotto Linux?

Supponiamo che una directory contiene 3 directory: example1, examplee examination.

Su Windows (per impostazione predefinita), se si digita cd exe Tab, verrà suggerito automaticamente cd .\examination. Gli usi successivi di Tabruoteranno il suggerimento tra example1, examplee examination.

Utilizzando bash (in genere sotto Linux), se si digita cd exe Tab, sarà completamento automatico fino a quando il personaggio in cui i nomi dei file iniziano a differire: cd exam. Un altro uso di Tabquindi suggerisce quali directory sono disponibili:

$ cd exam
examination/ example1/    example2/

Quindi, se digiti pe Tab, verrà completato automaticamente examplee così via (qui, offrendo una scelta tra example1e example2).

C'è un modo per far funzionare il suggerimento di nome file in una ricerca simile ad un albero come questa, invece di ruotare tra i nomi?

(Sono principalmente interessato ai nomi dei file. Bash può anche affinare questa selezione in base al tipo di file, ad esempio solo directory per cd, il che sarebbe buono, ma avere la selezione del nome file sarebbe sufficiente.)


Risposte:


5

Il comportamento di completamento predefinito è il risultato dell'utilizzo della finestra di comando, che gestisce l'input da tastiera.

A partire da PowerShell v3, vale la pena considerare ISE come shell a tempo pieno e ha un comportamento di completamento (e colorazione!) Moderno.

Se vuoi davvero il completamento in stile BASH in una finestra di comando di PowerShell, scarica PSReadline :

https://github.com/lzybkr/PSReadLine

C'è un progetto più vecchio, meno caratterizzato e non mantenuto chiamato anche PSReadline qui: http://nivot.org/nivot2/post/2012/09/12/Emulating-Bash-GNU-Readline-with-PowerShell-30.aspx http : //nivot.org/blog/post/2012/09/12/Emulating-Bash-GNU-Readline-with-PowerShell-30

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.