Альтернативы стандартной win-cmd

Почему стандартная консоль это плохо

По мотивам моего прошлого поста начал задумываться о смене стандартной виндусячей консоли на что то более удобоваримое. Зачем мне это? — Возможно это исключительно мои извращенческие проблемы. Главная из них — у стандартной консоли сносит крышу от тех нестандартных раскладок которыми я пользуюсь. К тому же, мне как давнему маковскому пользователю не хватает некоторых фишек, к которым я привык под макосью. В частности тех удобностей, которые есть в iTerm2.

Например очень хотелось бы иметь возможность выделять, копировать и вставлять текст в консоли без использования мышки и долгого лазания по менюшкам. Про такие мелочи как полноэкранный режим, сохранение вывода в файл, поиск по командам и выводу, табы и сплиты я уже не говорю. Уже то, что размер окна можно поменять на любой по желанию — уже плюс.(Попробуйте развернуть стандартную консоль на весь экран)

Да что там говорить — стандартная консоль не менялась со времен Windows NT и вшита так глубоко что ее лучше не трогать. Но вот поискать что то, что поможет жить лучше и удобнее в виде надстройки над ней можно, а иногда даже нужно.

Far

Far manager — наверное одна из самых старых надстроек над консолью, как и в его предшественниках — Norton Commander и Dos Navigator, в нем можно запускать и выполнять консольные команды. Для того чтобы поддерживалось изменение размера окна в фаре есть своя надстройка над стандартной консолью. Надо сказать — она не сильно отличается от стандартного окна консоли.

Отчасти недостаток функционала компенсируется функциями фара. Например в встроенном текстовом редакторе нормально работают копирование и вставка. Это подходит для редактирования скриптов но мало пригодно для запуска разухабистых команд-конвееров. (Да, представляете — в windows тоже есть конвеерная обработка консольных команд и я пользуюсь такими извращениями).

В общем и целом, Far manager — это скорее замена стандартному windows explorer чем командной консоли. Но как командной консолью им тоже можно пользоваться.

PowerShell

Это не замена wincmd —

 это другой интерпретатор, другой язык скриптов и другие команды. Это командный интерпретатор, позволяющий выполнять отдельные функции содержащиеся в сборках .NET. Это не делает командную консоль более удобной. Просто предоставляет больше возможностей для управления. Большую гибкость при написании скриптов. При желании powershell.exe можно запустить в любой другой указанной здесь программе и она будет работать.

Cygwin

Cygwin — это, вообще говоря, слой совместимости с unix для

 windows. И одним из его компонентов является MinTTY — оконный интерфейс командного интерпретатора. В нем нормально работают копирование-вставка. Но нет других вкусностей. Как плюс — основным командным интерпретатором является не cmd а sh. А при наличии прямых рук и бубна можно поставить zsh и вообще любой шелл на ваш выбор. Модно даже поставить иксы и запустить xterm например. Но зачем делать из винды линукса. Лучше просто снести виндуса и поставить линукс.

NYAOS

Nihongo Yet Another {OS/2|OSes|Open} Shell 

Изначально это был пункт из раздела «на поржать».

 Но программка в принципе оказалась вполне работоспособная. Хотя и в достаточной степени извращенная. Как впрочем и все что делают японцы. Это такая себе надстройка над стандартной cmd, добавляющая к ней функционал. Например копирование и вставку. И, да, как я мог забыть про кавайную иконку.

PuTTY

Строго говоря это не замена стандартной консоли — это

 средство для удаленного подключения к ней. По telnet или ssh. Но кто мешает нам подключиться к локальной машине? У меня двоякое чувство от подобного вида костылей. Я вот так сразу не смогу сказать как ето в плане безопасности. Но на мой взглад это сродни диалапу через ip-телефонию.
Ну и да, в консоли нормально работает копирование и вставка, консоль можно развернуть на весь экран.

Console2

Это уже более серьезно и ближе к тому что хочется.

 Полноценная надстройка над консолью с поддержкой табов и копирования. Куча настроек в файле конфигурации и сырая форма конфигуратора. Конфиг тоже выглядит как поделка студента-второкурсника. К тому же полное отсутствие документации. В стандартном файле хэлпа — исключительно скриншоты конфигуратора. При етом большая часть настроек доступна только из файла конфига.

PowerCMD

Довольно похож на Console2(внешне). Помимо табов умеет

 сохранять вывод команд в файл. Искать по введенным командам и выводу. А так же выводить несколько сессий в одном окне (сплиты). Но сплиты можно сделать только нескольких, заранее определенных конфигураций. Еще ближе к идеалу. Собственно и был бы идеальным вариантом если бы не страшные глюки связанные с правами запуска. Если программа стартует из под ограниченной учетной записи — глючит и выдает страшнючие сообщения об ошибках. Такое впечатление что разработчик не особо заморачивался тестированием программы.

TakeCommand

Первый раз, когда я увидел скриншот этой программы мне вспомнился старый, бородатый анекдот —

Что будет если виндусовуму программисту поручить написать утилиту find?
Он к ней кофеварку прикрутит.

Так и здесь — это целый комбайн с огромным числом не совсем понятных свистелок и гуделок. Тут вам и собственный командный интерпретатор с расширенным набором команд и возможностью пошаговой отладки скриптов, и оконный интерфейс с нормальной поддержкой копирования и вставки. Табы и сплиты. Поиск и сохранение вывода команд. Стабильная работа… И за все это — 99.95$.
Истинное воплощение Microsoft way. В прочем 30 дней программа работает бесплатно без каких либо ограничений. Если отключить лишние свистелки, то на нее можно смотреть без содрогания, а расширения стандартного cmd script так просто заслуживают внимания. Например с этими расширениями из командной консоли можно отправлять сообщения электронной почты или в джаббер. Или делать запросы к базам данных sql. Запускать такие скрипты потом можно в бесплатной, урезанной версии командного интерпретатора.
Не идеал но пока что лучшее на что наткнулся.

Заключение.

Полноценного аналога iTerm2 под виндуса я так и не нашел. Тут похоже две причины — не нужен виндусовым админам удобный терминал, они привыкли к кривоватым консолям mmc и не менее кривым стандартным командным консолям. А вторая причина в том, что полноценно заменить стандартную консоль нельзя — она слишком глубоко вшита в опреационную систему, можно только подключиться к ней, перенаправить ее вывод и ввод и работать с ними. Большинство описанных тут программ так и работают. Такой костылеобразный подход позволяет решить некоторое количество проблем. Но он не решает главной проблемы для меня — глюков с раскладкой.

За сим раскланиваюсь,
Всегда Ваш.

Оставайтесь тунцами.

UPD.

Пришел разработчик ConEmu и вполне справедливо заметил что про его замечательную программу я забыл. Исправляю это досадное упущение, тем более что программа в самом деле хороша.

Очень много возможностей и настроек,  все (или почти все) можно сделать с клавиатуры комбинациями клавиш. Можно приаттачиться к уже запущенным процессам. Вообще можно много чего. Запускать консольные игрушки и Far в нем гораздо удобнее. Собственно проект и был придуман, чтобы комфортно запускать Far.

В общем именно то, что искал.

Спасибо за программу.

Tags: , ,