Я люблю растягивать свой терминал на unix. Какова история или причина неудачной командной строки Windows?
Я люблю растягивать свой терминал на unix. Какова история или причина неудачной командной строки Windows?
Ответы:
Это не так. Вы можете щелкнуть правой кнопкой мыши строку заголовка, выбрать свойства и на вкладке «Макет» изменить размер экранного буфера (ширину линии и обратную прокрутку) и размер окна (размер области просмотра). Если вы запустили cmd с ярлыка, вы можете сохранить эти настройки для будущих сеансов.
Если вы боитесь мыши, вы также можете просто ввести это в окне cmd:
mode <cols>,<lines>
mode 80,25
mode 120,50
etc.
Это не ограничено.
Возможно, вы захотите проверить консоль . Это приложение с открытым исходным кодом, которое позволяет запускать несколько оболочек в среде с вкладками. Вы также можете установить альфа-прозрачность оболочек.
RE: Потому что MS высоко ценит "обратную совместимость" во многих вещах, и в данном случае я подозреваю, что это неуместное убеждение, что это как-то расстроит людей, если у них нет стандартного окна шириной 80 мм.
Однако обратная совместимость работает довольно ужасно. Я не думаю, что Microsoft достаточно тщательно проработала его реализацию, и я действительно верю, что Microsoft - это пример того, что новые версии не будут работать со старыми. Многое не работает должным образом под COMMAND.COM, что значительно снижает полезность, которой он обладает, не говоря уже о том, что вам нужно вводить DOSONLY, чтобы некоторые программы работали правильно, плюс Microsoft удаляет полезные команды. Честно говоря, я не могу представить, чтобы Microsoft уделяла большое внимание «обратной совместимости».
Кроме того, я думаю, что настоящая причина, по которой длина строки составляет стандартную 80 столбцов, заключается в том, что большинство программ командной строки и т. Д. Работают в предположении, что пользователь ограничен приглашением 80 столбцов, что означает, что увеличение ширины может вызвать ошибки форматирования или, что еще хуже, могут вообще нарушить работу программ.
Как упоминал jmucchiello, MODE отлично подойдет для изменения размера окна, если вам это нравится.
Настраивает системные устройства. Последовательный порт: MODE COMm [:] [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] Статус устройства: MODE [устройство] [/ STATUS] Перенаправленная печать: MODE LPTn [:] = COMm [:] Выберите кодовую страницу: MODE CON [:] CP SELECT = yyy Статус кодовой страницы: MODE CON [:] CP [/ STATUS] Режим отображения: MODE CON [:] [COLS = c] [LINES = n] Типовая скорость: MODE CON [:] [RATE = r DELAY = d]
Однако, если у вас включен DOSONLY на вашем CONFIG.NT, когда вы открываете COMMAND.COM, он унаследует правильное разрешение строки в стиле DOS от cmd.exe, но вы не можете вызвать MODE из COMMAND.COM. Если вы хотите изменить размер внутри COMMAND.COM, вам нужно будет использовать 16-битные инструкции сборки, например:
Линейное разрешение 80x50 (без фреймбуфера, без SVGA, поддерживается практически повсеместно).
ОТЛАЖИВАТЬ A100 MOV AX, 1112 ИНТ 10 ИНТ 20 грамм Q
Линейное разрешение 132x60 (без фреймбуфера, требуется SVGA. Не работает с картами ATI gfx, обычно работает с картами nVidia gfx, afaict всегда работает с интегрированными картами Intel gfx).
ОТЛАЖИВАТЬ A100 MOV AX, 4F02 MOV BX, 010C ИНТ 10 ИНТ 20грамм Q
Если вы введете это на вашем COMMAND.COM, он даст вам указанное разрешение. (Предупреждение: если ваш монитор достаточно древний, чтобы не поддерживать этот режим, вы можете его уничтожить. Примечание: если вы можете запустить Windows, с вашим монитором все будет в порядке. Отказ от ответственности: акцент на «должен», и вы были предупреждены , так что это не моя проблема, если ваш монитор жарит. ;-) Однако, если вы используете это без включенного DOSONLY, COMMAND.COM вернется к своему предыдущему размеру, как только приложение (в этом случае, если вы не записали его в файл и выполнил его, DEBUG) завершился.
В качестве альтернативы вы можете использовать MODE.COM FreeDOS, который будет правильно работать под COMMAND.COM, установленным на DOSONLY. Вы можете либо вытащить его из образа диска на официальном сайте (freedos.org), либо получить наhttp://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/mode/2005/ .
Новый режим FreeDOS от Эрика Ауэра 2003-2005 гг. Лицензия: GPL. (версия 12may2005) MODE [устройство] [/ STA [TUS]] (показать состояние одного или всех устройств) MODE LPTn [:] cols [, [lines] [, retry]] (cols или cpi, 6/8 lpi, повторить p или n) MODE LPTn [:] [COLS = ...] [LINES = ...] [RETRY = ...] (повтор: p бесконечно / n нет) MODE LPTn [:] = [COMn [:] | NUL] (перенаправить данные принтера на последовательный порт или NUL) MODE COMn [:] скорость, четность, данные, остановка, повтор (допускаются пустые значения) MODE COMn [:] [BAUD [HARD] = ...] [PARITY = ...] [DATA = ...] [STOP = ...] [RETRY = ...] Скорость передачи может быть сокращена до уникального префикса, четность может быть o / e / n / s / m, последние 2 означают пробел / метку, данные могут быть 5..8, стоп 1..2. Повторная попытка игнорируется! ЗАПЛАНИРОВАНО: Retry b / e / r -> занято / ошибка / готово, если занято, p / n бесконечное / без повторов. MODE CON [:] [CP | CODEPAGE] [/ STA [TUS]] (ДИСПЛЕЙ FreeDOS должен быть загружен) MODE CON [:] [CP | CODEPAGE] REF [RESH] (требуется ОТОБРАЖЕНИЕ) MODE CON [:] [CP | CODEPAGE] SEL [ECT] = число (требуется ОТОБРАЖЕНИЕ) MODE CON [:] [CP | CODEPAGE] PREP [ARE] = ((кодовая страница) имя файла) (требуется ОТОБРАЖЕНИЕ) Используйте PREP = ((, cp2, cp3,, cp5) ...) для подготовки кодовых страниц в других буферах. MODE [40 | 80 | BW40 | BW80 | CO40 | CO80 | MONO] [, строки] (строк может быть 25, 28, 43 или 50) Используйте 8, 14 или 16 в качестве значения «строк», если вы хотите изменить только шрифт. MODE [CO40 | CO80 | ...], [R | L] [, T] (сдвиг CGA влево / вправо, T - интерактивный режим) MODE CON [:] [NUMLOCK | CAPSLOCK | SCROLLLOCK | SWITCHAR] = значение Значение может быть: + или - для замков или символ для свитчара. MODE CON [:] [COLS = ...] [LINES = ...] (возможные значения зависят от вашего оборудования) MODE CON [:] [RATE = ...] [DELAY = ...] (скорость по умолчанию 20, задержка по умолчанию 1) Скорость может быть 1..32 для 2..30 символов / сек, задержка может быть 1..4 для 1 / 4..4 / 4 сек.
По тем же причинам, что и в случае с кодом ASM, который я предоставил, если вы не выполните его в COMMAND.COM с добавлением DOSONLY в ваш файл CONFIG.NT, окно сразу же вернется к своему предыдущему размеру после выхода из MODE.COM.
Наконец, как заявляли другие, также можно изменить эти настройки, просто щелкнув правой кнопкой мыши строку заголовка командной строки и изменив Свойства -> Макет. Точно так же вы можете установить разрешение для любых ярлыков CMD.EXE и командных файлов (щелкните правой кнопкой мыши ярлык -> Свойства -> Макет). Это работает только для CMD.EXE, но не для COMMAND.COM.
Я не знаю истории, стоящей за этим, но этот пункт списка желаний от автора PuTTy - интересный пост, в котором объясняются технические препятствия, связанные с любым типом замены cmd.exe, который не хромает:
http://www.chiark.greenend.org.uk/~sgtatham/putty/wishlist/win-command-prompt.html
Вы не упоминаете, что ищете замену, но если это так, вы также можете проверить некоторые замены cmd.exe, такие как Console 2 или Take Command от JP Software и т. Д. У меня также был хороший опыт работы с PuTTy- Cyg, который позволяет использовать PuTTy в качестве оболочки cygwin.
Хотя ширина не ограничена, как показывают другие ответы, мне всегда казалось странным, что можно перетаскивать и изменять высоту с помощью мыши, но не ширину .
Я думаю, что ширина по умолчанию в 80 символов связана с совместимостью со старыми программами, которые предполагают, что ширина терминала не превышает 80 символов. Однако я не думаю, что это была реальная причина в течение десяти лет или около того.
Как отмечали другие, он не ограничен шириной 80 символов, но я предполагаю, почему он по умолчанию составляет 80 символов, потому что он остался со времен DOS, когда дисплеи CRT были шириной 80 символов.
Вы также можете использовать другое приложение терминала, такое как Console2 , которое позволяет изменять размер окна, как вы хотите (среди прочего, например, прозрачность и возможность использовать любой шрифт по вашему желанию). Это отличное приложение, я перешел на него и теперь пользуюсь только cmd.exe
тогда, когда это абсолютно необходимо.
Поскольку он будет прокручиваться слева направо, а также вверх и вниз, первое, что я делаю в системе, - это определяю ширину 180 и сохраняю ее. Обычно этого достаточно, чтобы трассировки стека по большей части не оборачивались, но не настолько, чтобы вы занимали тонну места.
Пока вы это делаете, установите вертикальный размер (буфер обратной прокрутки) на все 9. Вы будете рады, что когда-нибудь сделали.
Потому что MS высоко ценит «обратную совместимость» во многих вещах, и в данном случае я подозреваю, что это неуместное убеждение, что это как-то расстроит людей, если у них нет стандартного окна шириной 80 мм.
Конечно, могло случиться так, что он был запрограммирован на фиксированную ширину 80 символов, когда это было в значительной степени универсальным, и дополнительные настройки свойств были чем-то вроде взлома.
Это ограничено. Проверить это. (Я имею в виду размер окна НЕ буфер)
Вы обнаружите, что максимальная ширина, которую вы можете установить, ограничена, но зависит от разрешения вашего экрана. Если ваше разрешение установлено на 1024 x 768, вы обнаружите, что вы можете получить только 128 в ширине командной строки. 128/1024 = 0,125
вы обнаружите, что это соотношение одинаково во всех отношениях. У меня есть сеанс RDP, работающий с разрешением 2000x768 (на двух из трех моих мониторов), и максимальная ширина составляет 250.
На самом деле он оказывается немного больше, чем ваш текущий размер монитора, но у меня есть три монитора, на которых работают отдельные рабочие столы. (по сути, 3 разрешения 1024x768), и если я хочу сделать что-то ТАКОЕ ПРОСТОЕ, как растянуть командную строку на 2 или более мониторах, Я НЕ МОГУ. (Я хочу делать что-то с очень длинными путями (diruse.exe / и т. Д.) ...
-c
Это не закрыто. Следует отметить, что Windows Terminal сейчас все меняет:
https://github.com/microsoft/terminal https://www.theverge.com/2020/1/9/21059316/microsoft-windows-terminal-crt-effects-retro-search-tabs-features https: // devblogs.microsoft.com/commandline/windows-command-line-backgrounder/ https://github.com/microsoft/terminal/blob/master/doc/terminal-v1-roadmap.md https://www.microsoft.com / ru-ru / p / windows-terminal-preview / 9n0dx20hk701? activetab = pivot: overviewtab
Потому что улучшение удобства использования и функциональности всего, что требует Unix / GNU-подобная разработка, подорвет Windows как коммерческую платформу для партнеров Microsoft. Предотвращение этого означает, что продукты других крупных компаний для разработчиков, такие как улучшенные терминалы, и другие общие продукты третьих сторон, такие как текстовые процессоры, видеоплееры и т. Д., Не конкурируют с существующим программным обеспечением Unix / GNU. Без этого Windows не была бы прибыльной платформой, и Microsoft потеряла бы монополию на настольные компьютеры.
Вот почему терминал - отстой, нет POSIX API, нет поддержки C99 в MSVC, и этот список можно продолжить. Чтобы прояснить, общие технологии и разработки Unix / GNU намеренно не поддерживаются, чтобы крупным компаниям, производящим коммерческое программное обеспечение, не приходилось с ними конкурировать.