J’adore étirer mon terminal sur Unix. Quelle est l’histoire ou la raison derrière la ligne de commande de windows lame?
Ce n’est pas Vous pouvez cliquer avec le bouton droit de la souris sur la barre de titre, sélectionner les propriétés et, dans l’onglet “Disposition”, modifier la taille du tampon d’écran (largeur de ligne et défilement) et la taille de la fenêtre (taille de la fenêtre). Si vous avez démarré cmd à partir d’un raccourci, vous pouvez enregistrer ces parameters pour les sessions futures.
Si vous êtes phobique, vous pouvez aussi taper ceci dans la fenêtre cmd:
mode , mode 80,25 mode 120,50 etc.
Ce n’est pas limité
Vous pourriez vouloir vérifier la console . C’est une application open source qui vous permet d’exécuter plusieurs shells dans un environnement à tabs. Vous pouvez également définir l’alpha-transparence des shells.
RE: Parce que la valeur de MS “rétrograde la compatibilité” sur beaucoup de choses et dans ce cas, je soupçonne que c’est une croyance erronée que cela va d’une manière ou d’une autre nuire aux gens s’ils n’ont pas leur fenêtre standard de 80 pouces.
La rétrocompatibilité fonctionne très bien, cependant. Je n’imagine pas que Microsoft a été assez rigoureux dans leur mise en œuvre, et je pense que Microsoft est le grand créateur pour s’assurer que les nouvelles versions ne fonctionneront pas sur les anciennes versions. Beaucoup ne fonctionne pas correctement sous COMMAND.COM, ce qui sabote considérablement l’utilité qu’il possède, sans compter que vous devez entrer DOSONLY pour que certains programmes fonctionnent correctement, et Microsoft supprime des commandes utiles. Honnêtement, je ne peux pas imaginer que Microsoft soit “très réticent” à la “rétrocompatibilité”.
En outre, je pense que la véritable raison pour laquelle la longueur de ligne est de 80 colonnes est que la plupart des programmes de ligne de commande, etc. fonctionnent sous l’hypothèse que l’utilisateur est limité à une invite de 80 colonnes, ce qui signifie des erreurs de formatage ou, pire encore, des programmes complètement rompus.
Comme l’a mentionné jmucchiello, MODE fonctionnera correctement pour redimensionner la fenêtre si vous en avez envie.
Configure les périphériques du système. serial port: MODE COM [:] [BAUD = b] [PARITY = p] [DATA = d] [STOP = s] [to = on | off] [xon = on | off] [odsr = on | off] [octs = on | off] [dtr = on | off | hs] [rts = on | off | hs | tg] [idsr = on | off] État du périphérique: MODE [périphérique] [/ ÉTAT] Impression de redirection: MODE LPTn [:] = COMm [:] Sélectionnez la page de code: MODE CON [:] CP SELECT = yyy Etat de la page de code: MODE CON [:] CP [/ STATUS] Mode d'affichage: MODE CON [:] [COLS = c] [LINES = n] Taux typique: MODE CON [:] [RATE = r DELAY = d]
Si vous avez activé DOSONLY sur votre CONFIG.NT, cependant, lorsque vous ouvrez COMMAND.COM, il héritera d’une résolution de ligne de style DOS correcte à partir de cmd.exe, mais vous ne pouvez pas appeler MODE depuis COMMAND.COM. Si vous souhaitez redimensionner à l’intérieur de COMMAND.COM, vous devrez utiliser les instructions d’assemblage 16 bits, comme ceci:
Résolution de ligne 80×50 (pas de framebuffer, pas de SVGA, supporté de manière quasi universelle)
DÉBOGUER A100 MOV AX, 1112 INT 10 INT 20 g Q
132×60 Line Resolution (Pas de framebuffer, nécessite SVGA. Ne fonctionne pas sur les cartes ATI gfx, fonctionne généralement sur les cartes nVidia gfx, afaict fonctionne toujours sur les cartes Intel gfx intégrées.)
DÉBOGUER A100 MOV AX, 4F02 MOV BX, 010C INT 10 INT 20
g
Q
Si vous entrez ceci sur votre COMMAND.COM, cela vous donnera la résolution spécifiée. (Attention: si votre moniteur est assez ancien pour ne pas prendre en charge le mode, vous risquez de le détruire. Note: Si vous pouvez exécuter Windows, votre moniteur devrait fonctionner correctement. Avertissement: L’accent doit être mis sur et vous avez été averti , donc ce n’est pas mon problème si votre moniteur frite. 😉 Cependant, si vous utilisez ceci sans que DOSONLY soit activé, COMMAND.COM redimensionne à sa taille précédente dès que l’application (dans ce cas, à moins que vous ne l’écriviez à un fichier et exécuté cela, DEBUG) se termine.
Alternativement, vous pouvez utiliser MODE.COM FreeDOS, qui fonctionnera correctement sous COMMAND.COM défini sur DOSONLY. Vous pouvez soit le retirer de l’image du disque sur le site officiel (freedos.org) ou l’obtenir à l’ adresse http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/mode/2005/ .
Nouveau FreeDOS MODE par Eric Auer 2003-2005. Licence: GPL. (version 12mai2005) MODE [périphérique] [/ STA [TUS]] (affiche l'état d'un ou de tous les périphériques) MODE LPTn [:] cols [, [lignes] [, retry]] (cols ou cpi, 6/8 lpi, réessayez p ou n) MODE LPTn [:] [COLS = ...] [LINES = ...] [RETRY = ...] (réessayer: p infinite / n none) MODE LPTn [:] = [COMn [:] | NUL] (redirige les données de l'imprimante vers le port série ou NUL) MODE COMn [:] baud, parity, data, stop, retry (valeurs vides autorisées) MODE COMn [:] [BAUD [HARD] = ...] [PARITY = ...] [DATA = ...] [STOP = ...] [RETRY = ...] Baud peut être abrégé en préfixe unique, la parité peut être o / e / n / s / m, le dernier 2 espace / marque moyen, les données peuvent être 5..8, arrêt 1..2. Réessayer est ignoré! PLANIFIE: Réessayer b / e / r -> occupé / erreur / prêt s'il est occupé, p / n infini / pas de nouvelle tentative. MODE CON [:] [CP | CODEPAGE] [/ STA [TUS]] (FreeDOS DISPLAY doit être chargé) MODE CON [:] [CP | CODEPAGE] REF [RESH] (doit afficher) MODE CON [:] [CP | CODEPAGE] SEL [ECT] = numéro (doit afficher) MODE CON [:] [CP | CODEPAGE] PREP [ARE] = (nom de fichier (page de code)) (doit afficher) Utilisez PREP = ((, cp2, cp3,, cp5) ...) pour préparer des pages de code dans d'autres tampons. MODE [40 | 80 | BW40 | BW80 | CO40 | CO80 | MONO] [, lignes] (les lignes peuvent être 25, 28, 43 ou 50) Utilisez 8, 14 ou 16 comme valeur de «lignes» si vous souhaitez uniquement modifier la police. MODE [CO40 | CO80 | ...], [R | L] [, T] (décalage CGA gauche / droite, T est le mode interactif) MODE CON [:] [NUMLOCK | CAPSLOCK | SCROLLLOCK | SWITCHAR] = valeur La valeur peut être: + ou - pour les verrous ou un caractère pour switchar. MODE CON [:] [COLS = ...] [LINES = ...] (les valeurs possibles dépendent de votre matériel) MODE CON [:] [RATE = ...] [DELAY = ...] (taux par défaut 20, délai par défaut 1) Le taux peut être 1..32 pour 2..30 char / sec, le retard peut être 1..4 pour 1 / 4..4 / 4 sec.
Pour les mêmes raisons qu’avec le code ASM que j’ai fourni, à moins que vous ne l’exécutiez dans COMMAND.COM avec DOSONLY ajouté à votre fichier CONFIG.NT, la fenêtre rebondira immédiatement à sa taille précédente une fois que MODE.COM sera terminé.
Enfin, comme d’autres l’ont déclaré, il est également possible de modifier ces parameters simplement en cliquant avec le bouton droit de la souris sur la barre de titre de l’invite de commandes et en modifiant Propriétés -> Mise en page. De même, vous pouvez définir la résolution des raccourcis vers CMD.EXE et les fichiers de commandes (cliquez avec le bouton droit sur le raccourci -> Propriétés -> Mise en page). Cela ne fonctionne que pour CMD.EXE, cependant, pas COMMAND.COM.
Une simple commande pour fixer la taille de la fenêtre que j’utilise tout le temps:
wmic
Il ouvrira la ligne de commande Windows Management Instrumentation et supprimera les limites de taille. Ensuite, fermez-le simplement avec Ctrl + C.
Je ne connais pas l’histoire derrière cela, mais cet article de l’auteur de PuTTy est un article intéressant qui explique les obstacles techniques liés à tout type de remplacement de cmd.exe qui n’est pas nul:
http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/win-command-prompt.html
Vous ne mentionnez pas que vous recherchez un remplacement, mais si vous le souhaitez, vous pouvez également consulter certains des remplacements de cmd.exe, tels que Console 2 ou Take Command etc. de JP Software. J’ai également eu de bonnes expériences avec PuTTy- Cyg qui vous permet d’utiliser PuTTy comme un shell cygwin.
Bien que la largeur ne soit pas limitée comme le montrent les autres réponses, j’ai toujours trouvé étrange que l’on puisse faire glisser et redimensionner la hauteur avec la souris, mais pas avec la largeur .
Je pense que la largeur par défaut de 80 caractères est liée à la compatibilité avec les anciens programmes qui supposent que le terminal n’aura pas plus de 80 caractères de largeur. Je ne pense pas que cela soit une raison réaliste depuis une dizaine d’années, cependant.
Comme d’autres l’ont fait remarquer, ce n’est pas limité à 80 caractères de large, mais je suppose que 80 caractères par défaut seraient dus aux jours de DOS où les affichages CRT étaient de 80 caractères.
Voir également
Vous pouvez également utiliser une application de terminal différente, telle que Console2 , qui vous permet de redimensionner la fenêtre à votre guise (notamment, par exemple, la transparence et la possibilité d’utiliser les fonts de votre choix). C’est une excellente application, je suis passée à celle-ci et maintenant, je n’utilise que cmd.exe
lorsque je le dois absolument.
Parce que la valeur de MS “compatibilité ascendante” sur beaucoup de choses et dans ce cas, je soupçonne que c’est une croyance erronée que cela va d’une manière ou d’une autre indisposer les gens s’ils n’ont pas leur fenêtre standard de 80 pouces.
Bien sûr, il pourrait être programmé pour une largeur fixe de 80 caractères alors que cela était quasiment universel, et les parameters de propriété supplémentaires étaient un peu un hack.
Il est limité Vérifiez-le. (Je veux dire la taille de la fenêtre NOT buffer)
Vous constaterez que la largeur maximale que vous pouvez définir est limitée mais varie en fonction de la résolution de votre écran. Si votre résolution est définie sur 1024 x 768, vous constaterez que vous ne pouvez obtenir que 128 sur la largeur de l’invite de commande. 128/1024 = 0,125
Vous constaterez que ce ratio est cohérent à tous les niveaux. J’ai une session RDP à 2000×768 (sur deux de mes trois moniteurs) et j’ai une largeur maximale de 250.
Maintenant, cela s’avère être un peu plus grand que la taille de votre moniteur Actaul, mais j’ai trois moniteurs qui exécutent chacun des bureaux individuels. (Donc, par essence, 3 résolutions 1024×768) et si je veux faire quelque chose de si simple que d’étirer une invite de commande sur 2 moniteurs ou plus, je ne peux PAS. (Je veux quand je fais des choses avec de très longs chemins (diruse.exe / etc.) …
-c
Comme il défile de gauche à droite et de haut en bas, la première chose que je fais sur un système est de définir ma largeur à 180 et de l’enregistrer. C’est généralement suffisant pour que les traces de stack ne soient pas obligées d’envelopper la plupart du temps, mais pas trop pour que vous n’ayez pas beaucoup d’espace.
Pendant que vous y êtes, définissez la taille verticale (tampon de défilement) sur tous les 9. Vous serez heureux de l’avoir fait un jour.
Parce que l’amélioration de la convivialité et des fonctionnalités de tout ce qu’un développement Unix / GNU nécessite nécessite de saper Windows en tant que plate-forme commerciale pour les partenaires de Microsoft. Prévenir cela signifie que les produits des autres grandes entresockets destinés aux développeurs, tels que les terminaux améliorés, et les autres produits tiers, tels que les traitements de texte, les lecteurs vidéo, etc. ne sont pas en concurrence avec les logiciels Unix / GNU existants. Sans cela, Windows ne serait pas une plate-forme rentable et Microsoft perdrait son monopole sur les ordinateurs de bureau.
C’est pourquoi le terminal est nul, il n’y a pas d’API POSIX, pas de support C99 dans MSVC et la liste est longue. Pour clarifier, les technologies et le développement Unix / GNU courants ne sont intentionnellement pas pris en charge, de sorte que les grands éditeurs de logiciels commerciaux ne doivent pas les concurrencer.