Una delle cose che mi fa impazzire nella riga di comando in MS-Windows è l'ordine in cui la shell di Windows (sia quella standard che PowerShell) recupera i comandi dalla cronologia quando si utilizzano i tasti freccia su e giù.
Il modo standard in cui mi è piaciuto, come avviene praticamente in tutte le altre shell del mondo, è che l'ultimo comando viene inserito nello stack della cronologia, quindi premendo su si recupera l'ultimo comando che ho eseguito, "su" di nuovo recupererà quello precedente e così via. Se si sceglie un comando dalla cronologia e lo si invia di nuovo, il comando viene copiato nella parte superiore dello stack e se si preme verso l'alto al prompt successivo, è possibile visualizzare l'ultimo comando e quindi il comando precedente all'ultimo. Se dopo aver sfogliato la cronologia, premi "giù" oltre il comando più recente nello stack della cronologia, verrai reindirizzato al tuo prompt vuoto (o qualunque cosa avessi prima di iniziare la cronologia di esplorazione).
Nella shell di Windows funziona in modo strano: se nella cronologia sono presenti 3 comandi, ad esempio chiamiamoli "A", "B" e "C" - e si utilizza il tasto freccia su per selezionare il comando "B" ed eseguire di nuovo, quindi utilizzare nuovamente il tasto freccia su al prompt successivo, la shell visualizzerà "B". Ma questo non è l'ultimo comando che hai eseguito (anche se "B" è stato effettivamente copiato nuovamente nello stack della cronologia) come se premi di nuovo "su" ti verrà mostrato "A" e non "C". Se scorri verso il basso (per le voci successive) vedrai di nuovo "B", seguito da "C" quindi seguito da "B", che è stato l'ultimo comando inserito - ma non puoi andare oltre: lì '
La mia domanda: esiste qualche impostazione che è possibile impostare per modificare questo comportamento?
Sono consapevole dell'opzione di ottenere bash o qualcosa del genere e usarlo su Windows, ma a causa di vincoli esterni (come in - è quello di cui ho bisogno per scrivere i miei script), devo lavorare in PowerShell o in un altro Windows shell che può invocare gli script di PowerShell.