Кто-нибудь нашел (например, bash) оболочку терминала для Windows так же хорошо, как OS X?


14

Я в основном использую 'git-bash', который поставляется с установкой Windows Git vcs. Я думаю, что это то же самое, что идет с Cygwin. Технически это работает нормально, но интерфейс отстой:

  • должны щелкнуть правой кнопкой мыши строку заголовка и перейти к свойствам, чтобы изменить ширину окна
  • досадно ... копировать, вставлять и выделять мышью одинаково громоздко

Напротив, приложение Terminal, которое поставляется с OS X, управляет этим с помощью aplomb и делает работу с ним намного удобнее. Вы даже можете перетащить файл на него, и он вставит путь к файлу в вашем курсоре!

Я также попробовал:

  • http://sourceforge.net/projects/win-bash
  • http://www.steve.org.uk/Software/bash/
  • http://www.hamiltonlabs.com/cshell.htm

Ни один из них не делает копирование и вставку текста без громоздкого щелчка правой кнопкой мыши.

Я специально ищу Unix-оболочку в Windows, чтобы мне не приходилось использовать разные оболочки между моим домашним разработчиком (Windows), живым сервером (Linux) или разработчиком в офисе (Mac).

Да, я гуглил и еще не нашел ...


3
Для любой консоли в Windows, включая Cygwin Bash, вы можете включить быстрое редактирование, и это лучше, чем поведение по умолчанию. Поскольку вы не описали, что вы находите громоздким, я не знаю, пробовали ли вы это.
mfinni

На самом деле, я думаю, что Git-Bash работает на MSYS из MinGW, а не Cygwin как таковой ... тем не менее, просто установив каждое из них по отдельности, оболочка, которая поставляется с Cygwin, похоже, идентична той, что в MSYS, которая совпадает с тот, который поставляется с Git.
Anentropic

@ mfinni спасибо, я не пробовал режим «быстрого редактирования». Однако это все еще довольно неуклюже, и вы не можете делать копирование и вставку так же легко, как в обычной программе ...
Anentropic

QuckEdit близко к копированию / вставке PuTTY / X: выделите текст и нажмите ввод, чтобы скопировать, затем щелкните правой кнопкой мыши, чтобы вставить.
DerfK

Вы должны знать (я не могу точно сказать, если да), что терминалы и оболочки различны и в значительной степени независимы друг от друга.
Приостановлено до дальнейшего уведомления.

Ответы:


10

Вы пробовали console2 ?

Он позволяет вам использовать cmd, bash или любую программу в качестве оболочки и позволяет изменять размеры в любом направлении.

Вы можете сделать его по умолчанию Git Bash, перейдя в Edit-> Settings и вставив его в поле Shell:

"C:\Program Files\Git\bin\sh.exe" --login -i"

Чтобы скопировать, удерживайте Shift, щелкните и перетащите левой кнопкой мыши, чтобы выбрать, затем щелкните левой кнопкой мыши, чтобы скопировать.

Наконец, Git поставляется с rxvt. Вы можете создать новый ярлык Windows с полем Target, установленным в:

"C:\Program Files\Git\bin\rxvt.exe" -e /bin/sh --login -i

Отличный совет - я попробовал Console2, но понятия не имел, что смогу изменить базовую оболочку!
Anentropic

1
@Mikel, ты пробовал ConEmu?
Максим

ConEmu - достойный преемник Console2 и большое улучшение.
Чарльз Ропер

6

[Повторное размещение моего комментария в качестве ответа по запросу Anentropic.]

Если вы используете Cygwin и любите PuTTY, попробуйте Mintty. Он доступен в категории «Оболочки» в программе установки Cygwin (или получите исходный код здесь ). Автор использовал большие части PuTTY для его создания, поэтому он ведет себя очень похоже на PuTTY. Он может быть настроен на работу так, как вы хотите:

  • Измените размер окна, просто перетаскивая края или углы, как любое другое приложение Windows. Это изменит размер терминала путем добавления или удаления строк и / или столбцов, как вы ожидаете от чего-то вроде xterm.
  • Копирование / вставка может быть сконфигурировано как операции одним щелчком мыши (например, щелчок левой кнопкой мыши, чтобы выделить и автоматическое копирование, щелчок правой кнопкой мыши, чтобы расширить, средний щелчок, чтобы вставить)
  • Как с Терминалом OS X, перетаскивая файл или папку в мятное окно вставит полный путь в позиции курсора.
  • Все диски Windows доступны, «смонтированы» по умолчанию в / cygdrive (хотя я обычно меняю это на / mnt с помощью mount -c /mnt).

Моя единственная проблема с mintty заключается в том, что последние версии (0.9.4+), похоже, делают то, что не нравится Windows 7 UAC, поэтому каждый раз запрашивает разрешение на запуск. Кажется, это приводит к тому, что он запускается с разными привилегиями, поэтому такие вещи, как мои сетевые диски, не работают. Я не знаю, если это серьезная проблема, или проблема с моей системой, хотя.


У меня нет этой проблемы в Windows 7, поэтому, скорее всего, это проблема вашей системы. Я второй использую Mintty, который также поддерживает все эти приятные новые ярлыки Windows для перемещения окон (Windows клавиша + стрелки)
Renik

Это замечательно - знаете ли вы, можно ли указать ему использовать оболочку, которая поставляется с Git (как совет @ Mikel для Console2)?
Anentropic

По умолчанию mintty будет вызывать все, на что $SHELLуказывает ваша переменная окружения. Однако вместо этого вы можете указать другую программу в качестве первого аргумента в командной строке, что может быть полезно в ярлыках. Автор собрал хороший список советов ( code.google.com/p/mintty/wiki/Tips ), которые показывают, как вы можете это сделать.
Джеймс Снирингер

2

Извините за саморекламу, я автор другого Консольного Эмулятора.

ConEmu - это консольный эмулятор Windows с вкладками, который представляет несколько консолей и простых приложений с графическим интерфейсом как одно настраиваемое окно с различными функциями.

Краткая выдержка из длинного списка опций:

  • Плавное изменение размера, максимизированный и полноэкранный режимы окна
  • Удобный выбор текста и блоков (с клавиатуры или мыши), копирование, вставка, поиск текста в консоли
  • Запускать выбранные вкладки от имени администратора (Vista +) или от имени выбранного пользователя
  • Запуск нескольких оболочек в сетке / разделенном экране (последняя версия сборки)
  • Используйте любой шрифт, установленный в системе или скопированный в папку программы (ttf, otf, fon, bdf)
  • Списки переходов Windows 7 и прогресс на панели задач
  • Интеграция с DosBox (полезно в 64-битных системах для запуска приложений DOS)
  • Полоса прокрутки изначально скрыта, может отображаться при наведении курсора или в настройках
  • Дополнительные настройки (например, паллета) для выбранных приложений
  • ANSI X3.64 и Xterm 256 color

Пост Hanselman , отзывы пользователей , тег ConEmu на superuser.com


выглядит хорошо, +1 для скриншота Prince of Persia :)
Anentropic

сглаженные шрифты были бы еще лучше
Anentropic

Он имеет 3 варианта сглаживания: Нет, Стандарт и ClearType.
Чарльз Ропер

0

Мне бы хотелось, чтобы PuTTY мог работать в качестве эмулятора для доступа к локальной ОС, как это делает Cygwin. PuTTY мой любимый, когда я застрял на коробке Windows. Я проголосовал за этот вопрос, я хотел бы знать и о лучшем эмуляторе для Windows.


1
Putty - это терминальная программа, а не оболочка. Даже если вы можете использовать putty для соединения с вашим локальным Windows-модулем (что можно сделать, если на нем запущен демон SSH), реальная оболочка все равно будет той, которую вы используете при входе через SSH.
mfinni

Я не сказал, что это оболочка, я сказал, что хотел бы, чтобы она работала как эмулятор. Мне нравится GUI на замазке, это была моя точка зрения.
c1tadel1

3
Если вы используете Cygwin и любите PuTTY, попробуйте Mintty. Он доступен в категории «Оболочки» в программе установки Cygwin (или проверьте источник по адресу code.google.com/p/mintty ). Автор использовал большие части PuTTY для его создания, поэтому он ведет себя очень похоже на PuTTY.
Джеймс Снирингер

@ Джеймс, ты хочешь опубликовать свое мятное предложение в качестве ответа? Это выглядит многообещающе! Кажется, я застрял в виртуальной файловой системе Cygwin Unix, но я не могу просматривать свои файлы Windows, как в git-bash?
Anentropic

0

Большая проблема с копированием и вставкой - не ошибка эмуляторов терминала; это связывание ключей сами.

Когда ярлыки были изобретены в Mac, Apple добавила для них новый ключ: «командный ключ» (также известный как «сплат»). Он не имеет эквивалента ASCII.

Несколько лет спустя, когда Microsoft скопировала те же самые ярлыки, на клавиатурах ПК не было клавиш «windows» или «menu», поэтому они использовали еще одну небольшую использованную клавишу, которую можно удерживать при помощи мизинца: клавишу Ctrl. Проблема в том, что Ctrl-C, Ctrl-V и т. Д. Являются допустимыми кодами ASCII и активно используются в интерфейсах командной строки.

Итак, когда вы нажимаете Ctrl-C в терминале Windows, должен ли он скопировать текст или прервать выполнение команды?


Это хороший момент, я не осознавал, что у OS X есть удачное преимущество. Тем не менее, это проблема пользовательского интерфейса, которую текущие терминальные приложения для Windows на самом деле не пытались решить.
Anentropic

0

Как и в случае почти с каждым программным обеспечением Windows, к которому я прикасался, мне приходилось повторять шаги с неопределенностью и грубым подходом ...

Но где-то там я получил его на работу без установки каких-либо новых консолей!

Я следовал решению AnandK ... http://www.thewindowsclub.com/full-screen-command-prompt-in-windows-7 Я получил его для работы с git bash, выполнив следующее

  • откройте обычный cmd,
  • выполнить wmic
  • изменить размер (двойной щелчок на панели окна)
  • закрыть cmd
  • открытый git bash
  • изменить размер (не работает ...)
  • unizeize resize

Полагаю, я должен уточнить: это специально для разрешения полноэкранного режима - ничего более.


0

Просто выбросить это, так как это еще не было упомянуто. Но PowerShell от MS на самом деле является действительно хорошим CLI для Windows.

У этого есть некоторые подобные Bash особенности, которые должны заставить его чувствовать себя немного знакомым. На мой взгляд, стоит учиться, если вы делаете какой-либо сценарий или автоматизацию с Windows, даже если вы в основном * nix парень (как и я). Вы сможете сделать больше за меньшее время по сравнению с попыткой взломать что-то, что работает на Cygwin.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.