Come utilizzare in modo efficace il completamento automatico della scheda di Cmd?


45

Ho usato la shell Bash su Linux per anni e sono molto veloce con esso. Facendo spesso appello al completamento automatico premendo il tasto Tab, sono in grado di scrivere comandi lunghi in pochi tasti.

Di recente al mio lavoro ho iniziato a utilizzare il prompt dei comandi di Windows e Cmd. Sono molto lento in Cmd. Ha una funzione di completamento automatico, ma funziona in modo diverso. Penso di capire come funziona, ma non capisco come usarlo in modo efficace, infatti spesso mi rallenta. Quindi chiedo, come utilizzare in modo efficace il completamento automatico di Cmd?


Lasciami fare un esempio. Prima descriverò come uso Bash, poi come cerco di usare Cmd e cosa non va.

Supponiamo che le cartelle nella directory corrente abbiano nomi fatti da un continente e un paese, ad es. africa-nigeria, asia-india, europe-france, E che voglio cartella cambiamento europe-norway.

Il modo in cui funziona il completamento automatico di Bash è che il tasto tab si espande solo se c'è un'espansione unica. Altrimenti, non succede nulla, ma puoi premere una seconda volta la linguetta per elencare le possibili espansioni.

Quindi per spostarmi in Norvegia a Bash, scrivo cde quindi eseguo i seguenti tasti:

  1. e tab per europe-
  2. n tab (non succede nulla)
  3. tabancora. Elenca europe-netherlandse europe-norwaycome potenziali espansioni.
  4. o tabper europe-norway.

Grande! Grazie Bash.

Tuttavia, quando provo le stesse chiavi in Cmd, si espande e taba europe-albania, che risulta essere la prima cartella che inizia 'e', ma non è la cartella che volevo! Cosa dovrei fare ora: è possibile trasformare l'Albania in Norvegia? O devo annullare il comando con Escapee digitare tutto da zero?


Puoi usare un menu, ad es. menu batch?
Endoro,

Al momento la risposta di Stephan è corretta per te. Basta digitare cd ee quindi premere il TABtasto. Quello che fa Windows qui inizia a ordinare le cartelle in ordine alfabetico in parole. Come se ci fosse Europe-albaniaprima europe-norway, continua a premere il TABtasto continuamente fino a quando non ottieni la directory desiderata.
avirk,

5
@Avirk, quindi il modo più veloce dall'Albania alla Norvegia è premere il tasto tab 27 volte?
Colonnello Panic,

Risposte:


47

Aggiornamento di 1 anno : sono giunto alla conclusione che il completamento automatico di Cmd è inutilizzabile e ho smesso di usarlo.

Ho installato Clink che ti dà il completamento automatico in stile Bash in Cmd.

Clink combina la shell nativa cmd.exe di Windows con le potenti funzionalità di modifica della riga di comando della libreria GNU Readline, che offre funzionalità complete di completamento, cronologia e modifica delle linee

È brillante.


Che scoperta straordinaria!
Sì,

Sì, Clink è il migliore per questo. Uso Clink e Git per Windows per fornire un'alternativa cmd migliore.
Matt

A differenza della shell bash, questo non completa automaticamente i nomi dei file.
Yashbhatt,

15

Cygwin ti consentirà di eseguire una shell Bash (oltre a molti altri software di ambiente POSIX) sotto Windows.

Altrimenti, potresti provare una shell alternativa, piuttosto che l'antico prompt dei comandi, per trovare quella più adatta alle tue esigenze.

Ecco un elenco di alcune console che emulano bash su Windows:

win-bash
Road Bash
Git Bash descritto in questo articolo

Altre console:

Windows PowerShell di Microsoft e il suo articolo di Wikipedia (il più potente)
Console con un articolo
ColorConsole
PowerCmd
GS.EXE
PyCmd

[ EDIT ] Da allora ho scoperto Cmder che è un'eccellente sostituzione della console tabulare che porta anche con sé gran parte del comportamento della shell Linux, nonché una porta di molte applicazioni di gestione dei file Linux come grep.


3
+1. Cmd è sempre stata una scusa patetica per una shell e Microsoft molto tempo fa ha rinunciato a svilupparla. Dato che sei già performante in bash, l'opzione migliore sarà quella di continuare a usarlo installando Cygwin.
Andrew Schulman,

1
ovviamente, PowerShell è il migliore in quella lista;)
Taylor Gibb,

Per completare un po 'di più l'elenco: c'era anche 4DOSo meglio 4NT, entrambi piuttosto popolari in passato e molto più potenti di command.como cmd.exe. Sembra che Take Command( jpsoft.com/take-command-windows-scripting.html ) sia il loro successore. Tuttavia non l'ho mai usato personalmente (ed è commerciale).
mpy,

1
Sul mio Win7, il completamento automatico di PowerShell (usando TAB) (mis) si comporta proprio come in CMD.
Sì,

11

Premere il TABtasto per passare da una directory all'altra.

Prova a entrare solo cdallora TABper alcune volte e vedrai il principio.

cd countries/europe-s[TAB][TAB] 

per esempio ti porterà alla seconda partita (paesi / europa-serbia)


4

Bash in Linux tenta di abbinare e compilare automaticamente tutti i primi caratteri comuni a tutti i file.

Il prompt dei comandi di Windows, d'altra parte, riempie automaticamente il prompt dei comandi con il primo elemento corrispondente.

es: in linux bash: dopo aver digitato cd paesi \ e TAB, bash passerà a paesi \ europa- poiché corrisponde a tutti i nomi di file che iniziano con e, quindi è possibile inserire i caratteri seguenti e premereTAB nuovo.

Nel prompt dei comandi di Windows: dopo aver digitato cd paesi \ e TAB, il prompt dei comandi corrisponderà al primo nome file possibile che inizia con e, europe-albania nel tuo caso, ma ricorda ancora che hai inserito solo una 'e'. Quindi, se premi di TABnuovo, mostrerà la prossima corrispondenza possibile (ordine alfabetico), europa-andorra.

Se vuoi arrivare in europa-norvegia più velocemente, puoi:

  1. Digitare europe-no e quindi premere TABo
  2. Digitare e quindi tenere premuto TABfinché non viene visualizzato europa-norvegia

2

Aggiornamento: Git Bash è praticamente tutto ciò di cui ho bisogno

Utilizzare PowerShell ISE anziché solo PowerShell. Ciò consente di accedere al completamento automatico di intelliSense, che genera un elenco di opzioni digitando o Ctrl+ Space. ISE apre anche molte altre possibilità interessanti come il completamento delle schede e altre cose.

L'aspetto negativo è che non supporta applicazioni interattive come shell ssh o python.

Ho iniziato a utilizzare ConEmu oggi a causa di questo aspetto negativo. ConEmu è piuttosto interessante.

Windows PowerShell Integrated Scripting Environment (ISE) è uno dei due host per il motore e la lingua di Windows PowerShell. Con esso è possibile scrivere, eseguire e testare script in modi non disponibili nella console di Windows PowerShell. ISE aggiunge colorazione della sintassi, completamento della scheda, IntelliSense, debug visivo e Guida sensibile al contesto.

ISE consente di eseguire comandi in un riquadro della console, ma supporta anche riquadri che è possibile utilizzare per visualizzare contemporaneamente il codice sorgente dello script e altri strumenti che possono essere inseriti in ISE. È anche possibile aprire più finestre di script contemporaneamente, il che è particolarmente utile quando si esegue il debug di uno script che utilizza funzioni definite in altri script o moduli.

https://technet.microsoft.com/en-us/library/dd819514.aspx



1

Tenere premuto il Tabtasto per spostarsi in avanti tra le opzioni e Shift+ Tabper tornare indietro.

Right arrow →tasto riprodurrà l'ultimo carattere cmdline 1 alla volta. Lo trovo utile per rinominare i file.

per esempio:

ren file.1.mp4 Guitar.Licks.01.Pentatonic.2.notes.per.string.mp4

Tenere right arrow →premuto fino a 1, quindi digitare 2. Tenere premuto la freccia destra fino a 1, quindi digitare 2. Tenere premuto la freccia destra fino a 2, quindi digitare 3, tenere premuto la freccia destra fino alla fine. Il risultato sarebbe ...

ren file.2.mp4 Guitar.licks.02.Pentatonic.3.notes.per.string.mp4

il trucco della freccia a destra è bello, ma sfortunatamente non funziona Ctrl+Tab, e non premo mai quel tasto solo per andare alla fine della riga. Premendo la freccia verso l'alto Homeo Ctrl+Tabper correggere alcuni caratteri sarebbe molto più veloce
phuclv,

1

In Windows 10, il completamento del nome file e della directory può utilizzare caratteri jolly.

Per l'esempio del passaggio a europe-norway, uno di questi comandi dovrebbe funzionare:

cd *nor*<tab>

o

cd *way<tab>

È possibile utilizzare più '*' s, e non v'è non un implicito iniziali o finali '*'.


1

Semplicemente usando regedit:

1) Avvia -> Esegui -> regedit 2) Passa a quanto segue per l'utente corrente o tutti gli utenti del sistema,

HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Processore HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Processore

3) Fare doppio clic sul processore dei comandi e modificare il valore su "9" in decimale o "0x9" in esadecimale. 4) Ciò consentirebbe al completamento automatico della scheda.

Riapri il prompt dei comandi e provalo.


0

In Windows 10 (7?) Usa maiusc + tab per scorrere tra le opzioni di completamento automatico disponibili dato un percorso parziale.

Se chiamato senza nulla, scorrerà tutte le opzioni disponibili nella directory.


1
Questo non fa nulla, Shift+Tabsolo inverte l'ordine iterazione , proprio come l'aggiunta di passaggio ad altre scorciatoie di commutazione come Ctrl+Tab, Win+Tab, Alt+Tab, Ctrk+K... Con Tab solo si vuole anche scorrere tutte le opzioni disponibili nella directory
phuclv
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.