Апгрейди для cmd.exe і альтернативи

  1. Зміст статті Будемо чесні - стандартна командний рядок Windows незручна. У ній немає нормального...
  2. Clink
  3. Cygwin
  4. Mintty

Зміст статті

Будемо чесні - стандартна командний рядок Windows незручна. У ній немає нормального copy-paste, немає вкладок і навіть немає можливості по-людськи поміняти розмір вікна. Крім того, в самій Windows замало консольних інструментів, і любителі текстового режиму, можливо, захочуть отримати доступ до потужного оточенню UNIX. Для цього теж є свої рішення.

Microsoft не сильно турбує доля командного рядка. Воно й зрозуміло: для більшості людей це абсолютно марна частина системи. На щастя, є ентузіасти, які не полінувалися перетворити стандартний cmd.exe в інструмент, який дійсно можна використовувати.

Console

sourceforge.net/projects/console

net/projects/console

Console - безкоштовна і продумана до дрібниць альтернатива рідної консолі

Спершу розглянемо рішення для тих, хто виживає під командним рядком Windows, але при цьому не відчуває потреби зв'язуватися з виртуализацией або * nix-утилітами, а головне - не бажає платити! Словом, почнемо з найпростішого і доступного.

Проект з нехитрою назвою Console, мабуть, найкрутіша і функціональна розробка для оптимізації cmd в Windows на даний момент. На відміну від рідної оболонки системи Console покликана бути зручною, зрозумілою і передбачає всі ті дрібниці, яких багатьом так не вистачає, наприклад, після роботи з Linux або Mac.

Найбільш наочно все буде просто перерахувати ключові фішки софтина:

  • Можна створювати безліч вкладок командного рядка в одному вікні, з індикацією активності фонової вкладки.
  • Можна на льоту змінювати розмір вікна, як хочеться, текст буде автоматично підганяти під новий розмір.
  • Є функція copy-paste, а значить, можна спокійно копіпаст інформацію туди-сюди, як в звичайному текстовому редакторі (виділити мишею потрібний фрагмент можна, натиснувши на кнопку навігації, а вставити - через тулбар або через меню).
  • Є можливість вибирати будь-який з доступних для консолі шрифтів і налаштувати їх згладжування аж до ClearType.
  • Можна запам'ятовувати розмір вікна і позицію на екрані - при кожному запуску конфігурація буде та, що потрібна користувачу. Прозорість вікна також є і налаштовується, але реалізована дивно - у багатьох випадках текст стає нечитабельним.
  • Працюють всілякі комбінації клавіш, які можна налаштувати під себе.
  • Можна створювати переднастроєні вкладки і прописувати комбінації команд, які будуть виконані при відкритті даної вкладки.
  • Є можливість підключення інших інтерпретаторів (bash та інші) - а значить, і запускати сценарії на цих мовах.

Зрозуміло, це далеко не повний перелік того, що вміє Console, але інші нюанси краще пізнавати на ділі, тим більше що програма поширюється вільно і абсолютно безкоштовно. Зауважимо, що, попрацювавши з Console хоча б раз, вже складно уявити собі роботу без неї. На жаль, деякі користувачі скаржаться на швидкість роботи програми.

До речі, для тих, хто більше довіряє платним і серйозних рішень, є дуже схожа на Console альтернатива - PowerCmd ( powercmd.com ). За функціональністю Console і PowerCmd схожі, тільки у останньої різних «свістелок» і зручностей ще більше:

  • Сильна сторона - можливість мати у своєму розпорядженні консолі не тільки у вигляді вкладок, а й у вигляді областей одного екрану. При цьому можна розмістити до чотирьох терміналів.
  • Можна вести логи вводяться команд, шукати по ним.
  • Можна запам'ятовувати шляху і папки у вигляді обраного з занесенням в обрані закладки.
  • Передбачено різні настройки інтерфейсу: змінюється фон, змінюються шрифти, нумеруються рядки.
  • Підтримується автодоповнення.
  • Доступна підсвічування синтаксису.
  • Є можливість запам'ятовувати активні сесії.

Однозначно виправдати цінник в 30 доларів у PowerCmd ми не можемо - при бажанні Console можна розширити до потрібного рівня, та й упирається все в кінцевому рахунку в конкретні потреби користувача. Однак у порівнянні з безкоштовним аналогом цей інструмент більш наочний, інтерактивний і зручний - ми вважаємо, що він краще підійде тим, хто не хоче копирсатися в форумах і настройках для того, щоб «допив» Console. Але це наша думка, і сформувати власну ти зможеш, якщо спробуєш безкоштовну триальную версію PowerCmd. Також на неї варто звернути увагу користувачам, часто працюють з російськими назвами файлів, - з ними PowerCmd часто поводиться непередбачувано.

Також на неї варто звернути увагу користувачам, часто працюють з російськими назвами файлів, - з ними PowerCmd часто поводиться непередбачувано

У порівнянні з Console, PowerCmd має безліч додаткових булочок

Clink

code.google.com/p/clink

До найпростішим апгрейд можна віднести ще один зовсім маленький lifehack - Open Source утиліту clink, яка здатна значно розширити можливості інтерпретатора командного рядка cmd.exe. Справа в тому, що clink використовує бібліотеку readline, яка створена і підтримується в рамках проекту GNU і забезпечує інтерфейс командного рядка і обробку рядків в bash.

Після установки clink інтерпретатор cmd.exe фактично веде себе як командна оболонка bash з усіма її просунутими функціями: автодоповнення командного рядка, редагуванням, історією команд і так далі. Перераховувати весь список нових можливостей cmd не стану, наведу тільки деякі особливості:

  • зручне автодоповнення шляхів (TAB);
  • вставка з буфера обміну (Ctrl-V);
  • підтримка автодоповнення при вказівці виконуваних файлів / команд і змінних оточення;
  • функції Undo / Redo (Ctrl-_ або Ctrl-X, Ctrl-U);
  • поліпшена історія командного рядка;
  • збереження попередніх сесій;
  • пошук по історії (Ctrl-R і Ctrl-S);
  • розширена історія (наприклад, !!,! <string <і! $);
  • скрипти автодоповнення на Lua, що дозволяють серйозно заощадити час.

Cygwin

cygwin.com

com

Cygwin з запущеним xclock і Midnight Commander

Ну і на закінчення хотілося б нагадати тобі про ще один корисний інструмент, хоча його й не можна назвати «простий оптимізацією cmd». Дане рішення стане в нагоді тим, хто бажає об'єднати можливості Linux і Windows, або тим, хто з якихось причин не може встановити Linux на своєму компі, але в ньому потребує.

Звичайно, більшість наших читачів вже здогадалися, про що мова, адже вони напевно знайомі зі старим добрим Cygwin, але згадати про нього ще раз - не зайве.

Cygwin - це UNIX-подібна середовище та інтерфейс командного рядка для Windows, що дозволяє об'єднати Windows і UNIX без використання віртуалізації (що важливо). По суті, це не що інше, як набір утиліт зі світу * nix, портірованних на Windows. Що конкретно встановлювати крім базової системи, кожен вирішує сам для себе - вибір величезний. Але так як ми сьогодні займаємося оптимізацією командного рядка, нас цікавить саме цей аспект Cygwin.

В общем-то, Cygwin перетворює командний рядок в зручний UNIX-термінал, до якого звикли шанувальники Linux і Mac. Всі UNIX-команди, які тобі знайомі, прекрасним чином будуть працювати і тут, так само, як працюють і багато ніксовие утиліти. Однак сама командна оболонка, на жаль, залишається практично без змін. Cygwin вирішує проблему відсутності команд і синтаксису, але зручність роботи все одно залишає бажати кращого. Наступна порада допоможе розібратися і з цим завданням.

Mintty

code.google.com/p/mintty

com/p/mintty

mintty - зручна надбудова

Якщо ти використовуєш Cygwin або MSYS / MinGW, тобі точно стане в нагоді mintty.

Як ми вже з'ясували, найчастіше людям в роботі з командним рядком не вистачає самого елементарного: зручного виділення тексту, функції copy-paste, налаштувань прозорості вікна і так далі. А значить, потрібна нова програма-термінал. Mintty - одне з найпопулярніших і зручних рішень в цій області.

Mintty, так само як і Console, про яку йшлося на початку, покликана оптимізувати роботу командного рядка. Функціональність цих двох софтин вельми схожа, правда, mintty, на жаль, не підтримує таби. Якщо ж наявність або відсутність вкладок некритично, на mintty точно варто звернути увагу, тому що вона надає:

  • зручний copy-past;
  • функцію drag & drop для тексту, файлів або директорій;
  • можливість відкривати посилання по Ctrl + клік;
  • повноекранний режим і прозорість для Windows Vista і 7;
  • підтримку різних кодувань, включаючи UTF-8, а також багато, багато іншого.