Я считаю, что работа с командной строкой в Windows разочаровывает, в первую очередь потому, что консольное окно плохо использовать по сравнению с терминальными приложениями в Linux и OS X, такими как «rxvt», «xterm» или «Terminal». Основные жалобы:
Нет стандартного копирования / вставки. Вы должны включить режим «пометки», и он доступен только из многоуровневого всплывающего окна, запускаемого (маленькой) кнопкой в левом углу. Затем необходимо вызвать копирование и вставку из того же меню.
Вы не можете произвольно изменять размер окна, перетаскивая его, вам нужно устанавливать предпочтение (назад к многоуровневому всплывающему окну) каждый раз, когда вы хотите изменить размер окна
Вы можете сделать окно настолько большим только до того, как горизонтальные полосы прокрутки войдут в изображение. Горизонтальные полосы прокрутки - отстой.
С оболочкой cmd.exe вы не можете переходить к папкам с нотацией \\ netpath (UNC?), Вам нужно подключить сетевой диск. Это отстой при работе на нескольких машинах, которым будут назначены разные диски.
Существуют ли какие-либо уловки или приложения (платные или иные), которые решают эту проблему?
@Wedge: в системе unix командная оболочка (в настоящее время) - bash, а терминальное приложение - xterm или gnome-terminal или… так что я не могу воспринимать их как одно и то же.
Как и то, что сказал ΩΤΖΙΟΥ, на самом деле все наоборот. В Windows есть «окно терминала» и оболочка в одном исполняемом файле cmd.exe. Unix-подобные операционные системы имеют отдельную программу для оболочки (обычно bash, dash, sh, csh, ksh, zsh, I could go on but I won't) and the terminal emulator (gnome-terminal, konsole, xterm` и т. д.)
@Delan: Совсем неправда. Приложение «cmd.exe» - это командная оболочка, эквивалентная bash или другим. «Окно консоли» встроено в Windows и имеет особые свойства. Вы можете использовать альтернативные командные оболочки, такие как PowerShell, 4NT или даже command.com, если хотите.
Удивительно (и тревожно для того, что обычно является чрезвычайно осведомленным коренным населением), как много людей не знают разницы между командной оболочкой (cmd, command.com, powershell, 4nt, bash, что у вас есть) и консольным типом окно, предоставляемое Windows.
Не совсем так, Марк. Видите ли, в Windows оболочка и эмулятор терминала связаны друг с другом, т.е. cmd.exe всегда использует оболочку cmd.exe, command.com всегда использует оболочку command.com и т. д. В операционных системах Linux любой терминал эмулятор (например, gnome-terminal, konsole, xterm) может работать с любой оболочкой (bash, dash, ksh, csh).
См. Также этот вопрос SuperUser о замене консоли Windows (несмотря на то, что его название может заставить вас задуматься).
Этот вопрос может быть лучше в сообществе SuperUser, чем Stack Overflow
может также захотеть рассмотреть PoshConsole: poshconsole.codeplex.com
Попробуйте что-нибудь из того, что предлагается, когда Я задал этот вопрос.
@Delan: На самом деле Марк прав. cmd.exe - это оболочка, похожая на bash. «Терминал Windows» называется «Подсистема консоли» и реализуется csrss.exe.
Почему этот вопрос закрыт для крика вслух. Люди попадают сюда очень часто, так как это занимает высокое место в результатах Google. Сегодня я думаю, что bliker.github.io/cmder должен быть лучшим ответом на этот вопрос, но добавить этот ответ невозможно.
@Kuba: Это не вопрос программирования. Он запрашивает рекомендации по программному обеспечению. Поэтому не по теме вдвойне. И он неправильно понимает основной дизайн, так что это даже не очень полезная отправная точка для обсуждения.





Попробуйте Консоль 2.
Console is a Windows console window enhancement. Console features include: multiple tabs, text editor-like text selection, different background types, alpha and color-key transparency, configurable font, different window styles
Я использую Vista и Console 2 (и 1.5) очень часто дает сбой.
У меня это очень хорошо работает под 64-битной XP. Используя его как с cmd.exe, так и с Cygwin bash.
вы знаете, как я могу открыть консоль в каталоге, в котором я щелкаю правой кнопкой мыши? в win7 вы можете щелкнуть правой кнопкой мыши каталог и выбрать «открыть командную строку здесь», но не представляется возможным изменить эту программу на console2.
@Chii: Это, безусловно, возможно (например, в Git для Windows есть параметр «Git Bash here», щелкнув правой кнопкой мыши). Не знаю, как именно это сделать, но это отличный вопрос для superuser.com.
Взгляните на Взять на себя командование.
Take Command is a comprehensive interactive GUI and command line environment that makes using the Windows command prompt and creating batch files easy and far more powerful.
(Однако Take Command «не бесплатна».)
Я часто использую команду take command. Он выполняет копирование / вставку, изменение размера перетаскивания и т. д.
Взять на себя командование. Этот существует уже давно (ранее 4DOS). Я использовал это в Windows NT 3.5 (!) И мне понравилось.
Cygwin позволяет запускать X в Windows, поэтому вы можете запускать xterm или любое другое терминальное приложение, которое вам нравится, а также получать преимущества от использования оболочки UNIX.
Я не ищу другой интерпретатор оболочки, я ненавижу само приложение. Cygwin страдает теми же проблемами, и у меня где-то сложилось впечатление, что Windows PowerShell тоже. Это неверное впечатление?
Да, у PowerShell такая же проблема.
Просто перечитайте мой ответ, всякое отвращение было направлено на окна, а не на вас за то, что вы помогли :)
Powershell использует тот же хост командной оболочки, поэтому он не решает эти проблемы.
@Wedge: Под «хостом командной оболочки» я предполагаю, что вы имеете в виду «окно консоли». Окна консоли - это особый тип окон. Это не имеет ничего общего с cmd.exe, PowerShell или чем-то еще.
@Alan: это не то приложение, которое тебе не нравится. «Приложение» здесь - «cmd.exe», «powershell.exe» или «bash.exe» или что-то еще. Что вам не нравится, так это окно консоли, предоставляемое Windows. Совершенно другое дело. Re: ваш ответ: «Take Command» заменяет окно консоли, а PowerShell - это интерпретатор команд. Они делают совершенно разные вещи.
@jsplaine Полностью согласен! Windows должна предложить что-то лучшее из коробки. Это окно командной строки по умолчанию смущает. Я действительно хочу приличный порт гуаке на windows.
У меня тоже были эти проблемы в течение многих лет в Windows, но недавно я нашел этот проект: Консоль
Для копирования / вставки по-прежнему требуется «режим отметки», но, по крайней мере, он доступен из контекстного меню, вызываемого правой кнопкой мыши (поэтому вам не нужно перемещать мышь в верхний левый угол, а затем снова перемещать его к тексту, который вы хотите Выбрать)
Пути UNC не поддерживаются cmd.exe, но они поддерживаются PowerShell. (Консоль может быть настроена для использования любой оболочки, включая cmd.exe и PowerShell)
Из документации:
NOTE: Console is NOT a shell. Therefore, it does not implement shell features like command-line completion, syntax coloring, command history, etc.
Console is simply a nice-looking front end for a shell of your choice (cmd.exe, 4NT, bash, etc.) Other command-line utilities can also be used as 'shells' by Console.
В качестве программной оболочки можно использовать ipython.
Я использую Терминалы для удаленного подключения через Telnet, RDC, SSH, ... Объединяет наиболее часто используемые протоколы в одной программе.
Даже с ними cmd.exe не лучшая консоль. См. Все остальные ответы и предыдущие вопросы о stackoverflow по той же теме. Довольно неплохо выглядит проект "Консоль" от sourceforge.
Изменение размера более 80 символов не работает.
Я исправился: вам нужно предварительно изменить размер окна, отредактировав ярлык для Cmd.exe или Git Bash или еще чего-то. Это и режим быстрого редактирования, кажется, исправляют многие мои проблемы со встроенным терминалом Windows.
+1 за pushd. Это сэкономит мне время!
Почему бы не использовать Putty?
Я использую rxvt от cygwin. Он ведет себя очень похоже на xterm.
Я думаю, вам понравится PowerCMD, в котором вы можете работать с 4 командными окнами одновременно. Кроме того, вы можете использовать множество дополнительных команд внутри PowerCMD. PowerCMD
Используйте Gow.exe .. Это сделает ваш DOS-Подсказка как Терминал Linux ...
еще
Используйте ZOC.exe ... его терминал испытательного периода ...
еще
Установите Git .. он дает консоль bash, откуда вы можете использовать команды unix, частично
На github есть небольшая программа mo.exe, которая решает первые три проблемы: https://github.com/boolship/Mo
Он работает в обычном окне консоли DOS, Git Bash в Windows и т. д.
Эта ссылка устарела, используйте: https://github.com/boolship/MoDi
Я лично использую Mintty. Поэтому я использую Cygwin (насколько мне известно, это единственная оболочка, которую он поддерживает).
Кстати, есть еще вопрос: лучшая команда для Windows? нашел.
мятный абсолютно потрясающий. Он даже поддерживает копирование и вставку в стиле X при выделении и средней кнопке мыши.
Извините за саморекламу, я автор другого эмулятора консоли, не упомянутого здесь.
КонЭму - это эмулятор консоли с открытым исходным кодом с вкладками, который представляет несколько консолей и простые приложения с графическим интерфейсом пользователя в виде одного настраиваемого окна графического интерфейса.
Изначально программа была разработана для работы с Дальний менеджер (моя любимая замена оболочки - управление файлами и архивами, история команд и их завершение, мощный редактор). Но ConEmu можно использовать с любым другим консольным приложением или простыми инструментами с графическим интерфейсом (например, PuTTY). ConEmu - это живой проект, открытый для предложений.
Краткая выдержка из длинного списка вариантов:
Пользователи Far Manager получат перетаскивание в стиле оболочки, миниатюры и плитки на панелях, вкладки для редакторов и зрителей, истинные цвета и стили шрифта (курсив / полужирный / подчеркивание).
PS. Far Manager поддерживает UNC-пути (\\ server \ share \ ...)
+1 для ConEmu. Только что открыл для себя это сегодня и до сих пор был очень впечатлен. Я использовал Console2 до сегодняшнего дня, но похоже, что это будет моя новая консоль.
Как давний пользователь Console 2, я недавно перешел на ConEmu и не оглядывался назад. Это намного лучше, чем все, что было до того, как это почти не поверит. Плюс быстро развивается (спасибо Maximus!), И сочные новые функции появляются достаточно часто, чтобы это выглядело захватывающе. Если вы еще не пробовали это сделать, сделайте это сейчас. Я без колебаний рекомендую его как лучший эмулятор консоли для Windows.
Еще один +1 от нового пользователя. Это консоль для разработчиков, созданная разработчиками. Кажется, каждый раз, когда я думаю: «Хорошо, было бы хорошо, если бы это было _____», для этого есть вариант. Большое спасибо за исправление такой неработающей консоли в Windows!
Поддерживает ли ConEmu коды ANSI SGR (подчеркивание, мигание и т. д.)? Я не смог заставить его работать с первоначальным тестированием. Может я что-то не замечаю.
Традиционно для dos / windows некоторые коды SGR, такие как подчеркивание или мигание, обрабатываются как «интенсивность» для текста / фона. Подчеркнутый / полужирный / курсив ara доступен для цветного режима xterm-256.
@Maximus Когда я пытаюсь использовать ConEmu с python, я заметил, что вкладка привязки для автозаполнения с помощью строки чтения больше не работает? Есть предложения по восстановлению этой функции?
@Maximus, неважно, что вкладка для автозаполнения работает в образце CLI, который я только что запустил ... в моем скрипте должно быть что-то, что его портит. ConEmu потрясающий!
Объедините ConEmu с PowerShell и PSReadline (github.com/lzybkr/PSReadLine), чтобы заполнить функциональность bash / * nix, которая может отсутствовать.
Я бы посоветовал переименовать это слово, так как «терминал» - не то слово по отношению к командной оболочке Windows. В системе unix командная оболочка и ваше приложение терминала по существу одинаковы, в системе Windows - нет.