Я люблю розтягувати свій термінал на 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 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 = увімкнено] Стан пристрою: РЕЖИМ [пристрій] [/ СТАТУС] Перенаправлення друку: РЕЖИМ LPTn [:] = COMm [:] Виберіть кодову сторінку: MODE CON [:] CP SELECT = yyy Статус кодової сторінки: MODE CON [:] CP [/ STATUS] Режим відображення: MODE CON [:] [COLS = c] [LINES = n] Типова швидкість: РЕЖИМ CON [:] [RATE = r DELAY = d]
Якщо у вас CONFIG.NT увімкнено DOSONLY, проте, коли ви відкриваєте COMMAND.COM, він успадкує правильну роздільну здатність лінії стилю DOS від cmd.exe, але ви не можете викликати РЕЖИМ всередині COMMAND.COM. Якщо ви хочете змінити розмір всередині COMMAND.COM, вам доведеться використовувати 16-бітні інструкції зі збирання, наприклад:
Роздільна здатність 80x50 (без фреймбуфера, без SVGA, практично не підтримується універсально.)
НАЛАГОДЖУВАТИ A100 MOV AX, 1112 INT 10 INT 20 Г Q
Роздільна здатність ліній 132x60 (Без фреймбуфера, SVGA не працює. Не працює на картках ATI gfx, зазвичай працює на nVidia gfx-картах, afaict завжди працює на інтегрованих gfx-картах Intel.)
НАЛАГОДЖУВАТИ A100 MOV AX, 4F02 MOV BX, 010C INT 10 INT 20Г Q
Якщо ви введете це на своєму COMMAND.COM, воно дасть вам вказане дозвіл. (Попередження: Якщо ваш монітор достатньо старий, щоб не підтримувати режим, ви можете закінчити його, знищивши його. Побічна примітка: Якщо ви можете запустити Windows, ваш монітор повинен бути добре. Відмова: Акцент на слід, і вас попередили , тож це не моя проблема, якщо ваш монітор обсмажується. ;-) Однак якщо ви користуєтеся цим без включення ДОСОЛЬНО, 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 від Eric Auer 2003-2005. Ліцензія: GPL (версія 12 травня 2005 р.) РЕЖИМ [пристрій] [/ STA [TUS]] (показати стан одного чи всіх пристроїв) РЕЖИМ LPTn [:] cols [, [рядки] [, повторний]] (cols або cpi, 6/8 lpi, повторний p або n) РЕЖИМ LPTn [:] [COLS = ...] [LINES = ...] [RETRY = ...] (спроба: p нескінченно / n немає) РЕЖИМ LPTn [:] = [COMn [:] | NUL] (перенаправлення даних принтера на послідовний порт або NUL) РЕЖИМ COMn [:] бод, парність, дані, зупинка, повтор (пусті значення дозволені) РЕЖИМ COMn [:] [BAUD [HARD] = ...] [PARITY = ...] [DATA = ...] [STOP = ...] [RETRY = ...] Бод може бути скорочений до унікального префікса, парність може бути o / e / n / s / m, the останні 2 означають пробіл / позначку, дані можуть бути 5..8, стоп 1..2. Повторне повторення! ПЛАНОВАНО: Повторити b / e / r -> зайнято / помилка / готово, якщо зайнято, p / n нескінченно / без спроби. РЕЖИМ CON [:] [CP | CODEPAGE] [/ STA [TUS]] (FreeDOS DISPLAY повинен бути завантажений) РЕЖИМ CON [:] [CP | CODEPAGE] REF [RESH] (потребує DISPLAY) РЕЖИМ CON [:] [CP | CODEPAGE] SEL [ECT] = число (потрібно DISPLAY) РЕЖИМ CON [:] [CP | CODEPAGE] PREP [ARE] = ((кодова сторінка) ім'я файлу) (потрібно DISPLAY) Використовуйте PREP = ((, cp2, cp3,, cp5) ...) для підготовки попередніх сторінок коду в інших буферах. РЕЖИМ [40 | 80 | BW40 | BW80 | CO40 | CO80 | MONO] [, рядки] (рядки можуть бути 25, 28, 43 або 50) Використовуйте 8, 14 або 16 як значення "рядків", якщо ви хочете лише змінити шрифт. РЕЖИМ [CO40 | CO80 | ...], [R | L] [, T] (зсув CGA вліво / вправо, T - інтерактивний режим) РЕЖИМ CON [:] [NUMLOCK | CAPSLOCK | SCROLLLOCK | SWITCHAR] = значення Значення може бути: + або - для блокування або символу для комутатора. РЕЖИМ CON [:] [COLS = ...] [LINES = ...] (можливі значення залежать від вашого обладнання) РЕЖИМ CON [:] [RATE = ...] [DELAY = ...] (ставка за замовчуванням 20, затримка за замовчуванням 1) Швидкість може становити 1..32 за 2..30 char / sec, затримка може становити 1..4 за 1 / 4..4 / 4 sec.
З тих же причин, що і з наданим мені кодом 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, як-от Консоль 2 або Програми JP Software Take Take Command тощо. У мене також був хороший досвід роботи з 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 = .125
ви виявите, що це співвідношення буде узгодженим у всіх напрямках. У мене сеанс RDP працює на 2000x768 (на двох моїх трьох моніторах) і отримую максимальну ширину 250.
Тепер цей акумулятор виявляється трохи більшим, ніж розмір вашого монітора actaul, але у мене є три монітори на всіх окремих робочих столах. (так по суті, 3 роздільної здатності 1024x768), і якщо я хочу зробити щось ТАКНО ПРОСТО, як розтягнути командний рядок на 2 або більше моніторів, я не можу. (Я хочу, щоб робити речі з дуже довгими шляхами (diruse.exe / тощо) ...
-c
Це не закрито. Тож слід зазначити, що зараз термінал Windows змінює все це:
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 / en-us / p / windows-terminal-preview / 9n0dx20hk701? activetab = pivot: Overviewtab
Оскільки покращення юзабіліті та функціональності всього, що потрібна розробці, подібній Unix / GNU, підірве Windows як комерційну платформу для партнерів Microsoft. Якщо запобігти цьому, продукти інших великих компаній для розробників, такі як поліпшені термінали, та інші продукти сторонніх виробників, такі як текстові процесори, відеоплеєри тощо, не конкурують з існуючим програмним забезпеченням Unix / GNU. Без цього Windows не була б вигідною платформою, а Microsoft втратила б свою монополію на робочому столі.
Ось чому термінал смокче, в MSVC немає жодної POSIX API, немає підтримки C99 і список продовжується. Для уточнення, загальні технології Unix / GNU навмисно не підтримуються, так що великі комерційні програми програмного забезпечення не повинні конкурувати з ними.