Comment utiliser l'onglet Cmd autocomplete efficacement?

45

J'ai utilisé le shell Bash sur Linux pendant des années et je le fais très vite. En faisant souvent appel à la saisie semi-automatique en appuyant sur la touche de tabulation, je peux écrire de longues commandes en quelques frappes.

Récemment, dans mon travail, j'ai commencé à utiliser l'invite de commande Windows et Cmd. Je suis très lent dans Cmd. Il a une fonctionnalité de saisie semi-automatique, mais cela fonctionne différemment. Je pense comprendre comment cela fonctionne, mais je ne comprends pas comment l'utiliser efficacement, en fait cela me ralentit souvent. Alors je demande, comment utiliser comment utiliser autocomplete efficacement Cmd?


Laissez-moi vous donner un exemple. Je vais d'abord décrire comment j'utilise Bash, puis comment j'essaie d’utiliser Cmd et ce qui ne va pas.

Supposons que les dossiers du répertoire en cours portent des noms provenant d’un continent et d’un pays, par exemple. africa-nigeria, asia-india, europe-franceEt que je veux le dossier de changementeurope-norway .

Le fonctionnement de la saisie semi-automatique de Bash est que la touche de tabulation ne se développe que s'il existe une extension unique. Sinon, rien ne se passe, mais vous pouvez appuyer sur l'onglet une seconde fois pour répertorier les extensions possibles.

Donc, pour passer en Norvège dans Bash, je tape cdpuis je tape les touches suivantes:

  1. e tab pour europe-
  2. n tab (Rien ne se passe)
  3. tabencore. Il répertorie europe-netherlandset europe-norwaycomme des extensions potentielles.
  4. o tabpour europe-norway.

Génial! Merci Bash.

Cependant, lorsque j'essaie les mêmes clés dans Cmd, il se développe e taben europe-albania, ce qui se trouve être le premier dossier commençant par 'e', ​​mais n'est pas le dossier que je voulais! Que dois-je faire maintenant? Est-il possible de faire de l'Albanie en Norvège? Ou dois-je annuler la commande avec Escapeet taper tout à partir de zéro?

Colonel Panic
la source
Pouvez-vous utiliser un menu, par exemple. menu batch?
Endoro
Pour le moment, la réponse de Stephan est correcte pour vous. Tapez simplement le cd e, puis appuyez sur la TABtouche. Ce que Windows fait ici, il commence à trier les dossiers par ordre alphabétique des mots. Comme Europe-albaniaauparavant europe-norway, maintenez la TABtouche enfoncée jusqu'à ce que vous n'obteniez pas le répertoire souhaité.
avirk
5
@Avirk, le moyen le plus rapide d’Albanie à la Norvège consiste à appuyer 27 fois sur la touche de tabulation?
colonel Panic le

Réponses:

47

Mise à jour après un an : j'ai conclu que l'auto-complétion de Cmd est inutilisable et j'ai cessé de l'utiliser.

J'ai installé Clink qui vous donne l'auto-complétion de style Bash dans Cmd.

Clink combine le shell Windows natif cmd.exe avec les puissantes fonctions d'édition en ligne de commande de la bibliothèque GNU Readline, qui offre des fonctionnalités avancées de complétion, d'historique et d'édition de ligne.

C'est brilliant.

Colonel Panic
la source
Quelle trouvaille incroyable!
Ysap
Oui, Clink est le meilleur pour cela. J'utilise Clink et Git pour Windows pour fournir une meilleure alternative à cmd.
Matt
Contrairement au shell bash, cela ne complète pas automatiquement les noms de fichiers.
Yashbhatt
15

Cygwin vous permettra d’exécuter un shell Bash (en dehors de nombreux autres logiciels d’environnement POSIX) sous Windows.

Sinon, vous pouvez essayer un shell alternatif plutôt que l'ancien invite de commande pour trouver celui qui correspond le mieux à vos besoins.

Voici une liste de consoles émulant bash sous Windows:


route bas- route Bash
Git Bash décrit dans cet article

Autres consoles:

Windows PowerShell de Microsoft et son article de Wikipédia (le plus puissant)
Console avec un article
ColorConsole
PowerCmd
GS.EXE
PyCmd

[ EDIT ] Depuis, j'ai découvert Cmder, un excellent substitut de console tabulaire qui apporte également une bonne partie du comportement du shell Linux ainsi qu'un port de nombreuses applications de traitement de fichiers Linux telles que grep.

harrymc
la source
3
+1 Cmd a toujours été une excuse pathétique pour un shell et Microsoft a depuis longtemps renoncé à tout développement. Puisque vous êtes déjà performant à bash, votre meilleure option sera de continuer à l’utiliser en installant Cygwin.
Andrew Schulman
1
bien sûr, PowerShell est le meilleur sur cette liste;)
Taylor Gibb
Pour compléter la liste un peu plus: il y avait aussi 4DOSou mieux 4NT, à la fois plutôt populaires dans le passé et beaucoup plus puissants que command.comou cmd.exe. Il semble que Take Command( jpsoft.com/take-command-windows-scripting.html ) soit leur successeur. Cependant, je n'ai jamais utilisé celui-là personnellement (et c'est commercial).
mpy
1
Sur ma Win7, la saisie semi-automatique de PowerShell (à l'aide de la tabulation) se comporte exactement comme dans CMD.
Ysap
11

Frapper le TAB touche pour parcourir tous les répertoires existants.

Essayez d'entrer juste cdalors TABpour quelques temps et vous verrez le principe.

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

par exemple vous amènera au deuxième match (countries / europe-serbie)

Stephan
la source
4

Bash in linux tente de faire correspondre et de remplir automatiquement tous les premiers caractères communs à tous les fichiers.

L’invite de commande Windows, quant à elle, remplit automatiquement l’invite de commande avec le premier élément correspondant.

Par exemple: sous linux bash: après avoir tapé cd countries \ e TAB, bash ira jusqu’à pays \ europe- puisqu’il correspond à tous les noms de fichiers commençant par e, vous pouvez ensuite entrer les caractères suivants et appuyer surTAB nouveau.

Dans l'invite de commande Windows: après avoir tapé cd countries \ e TAB, l'invite de commande correspond au premier nom de fichier possible commençant par e, europe-albania dans votre cas, mais il vous rappelle tout de même que vous n'aviez entré qu'un 'e'. Donc, si vous appuyez surTAB nouveau, le prochain match possible (ordre alphabétique), europe-andorra, s'affichera.

Si vous voulez aller plus vite en europe-norvège, vous pouvez soit:

  1. Tapez europe-no puis appuyez sur TAB ou
  2. Tapez e puis maintenez la touche enfoncée TABjusqu'à ce que l'europe-norvège s'affiche
Chirag Bhatia - chirag64
la source
2

Mise à jour: Git Bash est à peu près tout ce dont j'ai besoin

Utilisez PowerShell ISE au lieu de PowerShell. Cela vous donne accès à intelliSense auto-complete, qui génère une liste d’options lors de la frappe ou Ctrl+Space . ISE ouvre également beaucoup d'autres possibilités intéressantes comme la complétion par des onglets et d'autres choses.

Inconvénient, il ne prend pas en charge les applications interactives telles que ssh ou python shell.

En fait, j'ai commencé à utiliser ConEmu aujourd'hui à cause de cet inconvénient. ConEmu est plutôt cool.

L'environnement de script intégré Windows PowerShell (ISE) est l'un des deux hôtes du moteur et de la langue Windows PowerShell. Grâce à elle, vous pouvez écrire, exécuter et tester des scripts d’une manière qui n’est pas disponible dans la console Windows PowerShell. ISE ajoute la coloration de la syntaxe, l'achèvement des onglets, IntelliSense, le débogage visuel et l'aide contextuelle.

ISE vous permet d'exécuter des commandes dans un panneau de la console, mais il prend également en charge les panneaux que vous pouvez utiliser pour afficher simultanément le code source de votre script et d'autres outils pouvant être connectés à ISE. Vous pouvez même ouvrir simultanément plusieurs fenêtres de script, ce qui s'avère particulièrement utile lorsque vous déboguez un script utilisant des fonctions définies dans d'autres scripts ou modules.

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

ThaJay
la source
1

Maintenez la Tabtouche enfoncée pour avancer dans les options et Shift+ Tabpour revenir en arrière.

Right arrow →La touche reproduira la dernière ligne de commande 1 à la fois. Je trouve cela utile pour renommer des fichiers.

par exemple:

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

Maintenez right arrow →jusqu'à 1, puis tapez 2. Maintenez la flèche droite jusqu'à 1, puis tapez 2. Maintenez la flèche droite jusqu'à 2, puis tapez 3, maintenez la flèche droite jusqu'à la fin. Le résultat serait ...

ren file.2.mp4 Guitar.licks.02.Pentatonic.3.notes.per.string.mp4
dchip
la source
le truc de la flèche droite est cool, mais ne fonctionne malheureusement pas avec Ctrl+Tab, et je n’appuie jamais sur cette touche juste pour aller au bout de la ligne. Appuyer sur la flèche vers le haut puis sur Homeou Ctrl+Tabpour corriger quelques caractères serait beaucoup plus rapide
phuclv
1

Sous Windows 10, l'achèvement du nom de fichier et du nom de répertoire peut utiliser des caractères génériques.

Pour l'exemple de passer en europe-norvège, l'une ou l'autre de ces commandes devrait fonctionner:

cd *nor*<tab>

ou

cd *way<tab>

Vous pouvez utiliser plusieurs '*', et il n'y a pas de '*' implicite de début ou de fin.

Timothée
la source
1

Tout simplement en utilisant regedit:

1) Démarrer -> Exécuter -> regedit 2) Passer à la suivante pour l'utilisateur actuel ou tous les utilisateurs du système,

Processeur HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Command Processeur HKEY_CURRENT_USER \ SOFTWARE \ Microsoft \ Command

3) Double-cliquez sur le processeur de commande et remplacez la valeur par "9" en décimal ou par "0x9" en hexadécimal. 4) Cela permettrait à la TAB de se compléter automatiquement.

Rouvrez votre invite de commande et essayez-la.

Porc-épic
la source
0

Dans Windows 10 (7?), Utilisez Maj + Tab pour parcourir les options de saisie semi-automatique disponibles en fonction d'un chemin partiel.

Appelé sans rien, il parcourt toutes les options disponibles dans le répertoire.

Michael.
la source
1
Cela ne fait rien, Shift+Tabjuste l'ordre inverse itérer , tout comme l' ajout de changement à tous les autres raccourcis de commutation comme Ctrl+Tab, Win+Tab, Alt+Tab, Ctrk+K... Avec Tab seul , vous pédalez aussi par toutes les options disponibles dans le répertoire
phuclv