70 votes

Comment utiliser efficacement l'autocomplétion de tab Cmd ?

J'ai utilisé l'interpréteur de commandes Bash sur Linux depuis des années et je suis très rapide avec. En faisant souvent appel à l'autocomplétion en appuyant sur la touche tabulation, je suis capable d'écrire de longues commandes en quelques frappes de touches.

Récemment, dans mon travail j'ai commencé à utiliser l'invite de commandes Windows et Cmd. Je suis très lent avec Cmd. Il a une fonctionnalité d'autocomplétion, mais elle 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 efficacement l'autocomplétion de Cmd?


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

Supposons que les dossiers dans le répertoire courant ont des noms composés d'un continent et d'un pays, par exemple africa-nigeria, asia-india, europe-france, et que je veuille changer de dossier pour europe-norway.

La façon dont fonctionne l'autocomplétion de Bash est que la touche tabulation se développe uniquement s'il y a une expansion unique. Sinon, rien ne se passe, mais vous pouvez appuyer sur la touche tabulation une deuxième fois pour lister les expansions possibles.

Donc, pour aller en Norvège dans Bash, je tape cd puis je tape les touches suivantes:

  1. e tab pour europe-
  2. n tab (rien ne se passe)
  3. tab à nouveau. Il liste europe-netherlands et europe-norway comme expansions potentielles.
  4. o tab pour europe-norway.

Génial! Merci Bash.

Cependant, lorsque j'essaie les mêmes touches dans Cmd, il développe e tab en europe-albania, qui se trouve être le premier dossier commençant par 'e', mais ce n'est pas le dossier que je voulais! Que dois-je faire maintenant—est-il possible de transformer Albania en Norvège? Ou dois-je annuler la commande avec Échap et tout taper à nouveau?

76voto

Colonel Panic Points 11433

Mise à jour d'un an : J'en suis venu à la conclusion que l'autocomplétion de Cmd est inutilisable, et j'ai arrêté de l'utiliser.

J'ai installé Clink qui vous donne une autocomplétion de style Bash dans Cmd.

Clink combine l'invite de commandes native de Windows cmd.exe avec les puissantes fonctionnalités d'édition de la ligne de commande de la bibliothèque GNU Readline, qui offre une riche complétion, historique et capacités d'édition de lignes

C'est génial.

19voto

harrymc Points 394411

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

Autrement, vous pouvez essayer un shell alternatif, plutôt que l'ancien Command Prompt, pour trouver celui qui correspond le mieux à vos besoins.

Voici une liste de quelques consoles qui émulent bash sur Windows :

win-bash
Road Bash
Git Bash décrit dans cet article

Autres consoles :

Windows PowerShell et son article wikipedia (le plus puissant)
Console avec un article
ColorConsole
PowerCmd
GS.EXE
PyCmd

[EDIT] J'ai depuis découvert Cmder qui est un excellent remplacement de console tabulaire qui apporte également une grande partie du comportement du shell Linux ainsi qu'un portage de nombreuses applications de traitement de fichiers Linux telles que grep.

12voto

rgenito Points 101

En appuyant sur la touche TAB, vous naviguez à travers tous les répertoires existants.

Essayez simplement d'entrer cd, puis appuyez plusieurs fois sur TAB et vous verrez le principe.

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

par exemple vous amènera au deuxième correspondant (countries/europe-serbia)

8voto

Timothy Points 81

Sous Windows 10, la complétion des noms de fichiers et de répertoires peut utiliser des caractères génériques.

Pour l'exemple du passage à europe-norway, l'une de ces commandes devrait fonctionner :

cd *nor*

ou

cd *way

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

4voto

Steve Points 11

Bash in linux tente de faire correspondre et d'autocompléter tous les premiers caractères qui sont communs à tous les fichiers.

Par contre, l'invite de commandes Windows se contente seulement d'autocompléter avec le premier élément qui correspond.

Par exemple: Dans linux bash: Après avoir tapé cd countries\eTAB, bash ira jusqu'à countries\europe- car cela correspond à tous les noms de fichiers commençant par e, puis vous pouvez entrer les caractères suivants et appuyer à nouveau sur TAB.

Dans l'invite de commandes Windows: Après avoir tapé cd countries\eTAB, l'invite de commandes affichera le premier nom de fichier possible commençant par e, europe-albania dans votre cas, mais elle se souvient toujours que vous aviez seulement entré un 'e'. Donc si vous appuyez à nouveau sur TAB, elle affichera la correspondance possible suivante (par ordre alphabétique), europe-andorra.

Si vous voulez arriver plus rapidement à europe-norway, vous pouvez soit:

  1. Taper europe-no et ensuite appuyer sur TAB ou
  2. Taper e et ensuite continuer d'appuyer sur TAB jusqu'à ce qu'il affiche europe-norway

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X