Бурлящийся над оболочкой MSYS - это можно заменить? - PullRequest
15 голосов
/ 21 октября 2008

Мне нужна исправная оболочка для MSYS. Это моя текущая дилемма:

По умолчанию rxvt.exe имеет полосу прокрутки и копирует и вставляет, но не отправляет управляющие символы или клавиши со стрелками в работающую программу оболочки (например, интерпретаторы / отладчики). Это настоящая проблема при использовании интерпретатора Haskell ghci.

Другая оболочка sh.exe обрабатывает управляющие символы (или хотя бы некоторые из них), но не имеет полосы прокрутки или копирования и вставки.

У rxvt также (относительно) больше проблем с буферизацией вывода

Какие у меня варианты? Нужно ли знать о замене оболочки? Все, что мне нужно, - это нормальная среда для работы с Haskell (ghc), C ++ (gcc) и базовая цепочка инструментов (make и что нет). Я готов собрать оболочку, если она не связана с сумасшедшими махинациями.

Ответы [ 8 ]

14 голосов
/ 21 октября 2008

Если вам нужен лучший эмулятор терминала, у меня был успех с http://sourceforge.net/projects/console/

Это замена стандартного командного окна Windows. Вы можете установить MSYS или Cygwin, или что хотите, в качестве оболочки, поддерживающей его.

8 голосов
/ 11 сентября 2009

Чек http://code.google.com/p/mintty/. Как насчет этого? Я считаю это абсолютно полезным. Или puttycyg (более старая попытка)?

7 голосов
/ 03 февраля 2012

Из оболочки msys:

mingw-get install mintty
mintty
3 голосов
/ 21 октября 2008

Вы путаете "shell" и "эмулятор терминала". sh.exe является первым; RXVT является последним. (учтите, что в Windows вы можете обойтись без эмулятора терминала, потому что Windows создает его («консольное окно») для любой консольной программы (например, sh.exe), если она еще не запущена внутри одной)

1 голос
/ 10 июня 2015

Этот вопрос немного устарел; mintty теперь включено по умолчанию в MSYS2. Как ни странно, я не смог получить доступ к истории команд в GHCi - нажатие вверх переместило бы курсор и поместило \ESC коды во входной буфер - и это было исправлено для меня путем удаления mintty (pacman -R mintty из оболочки MSYS2).

1 голос
/ 10 октября 2014

Используйте PowerShell вместо старого cmd. Затем запустите sh, как это

C:\msys64\usr\bin\sh.exe --login -i

Я тестировал на Winows 8.1 с MSYS2 и Haskell Platform 2014.2.0.0. С GHCi проблем нет. Все клавиши со стрелками и другие клавиши работают как положено.

Кроме того, я не смог заставить Console2 работать в Windows8 должным образом, как это предлагалось в других ответах.

0 голосов
/ 22 октября 2009

Сделайте себе одолжение и используйте надлежащий Cygwin вместо необслуживаемого форка старой версии Cygwin, которая называется msys.

0 голосов
/ 21 октября 2008

Я не использовал msys, но этого должно быть достаточно, чтобы использовать что-то отличное от rxvt и запустить в нем sh.exe. Теперь, если вы используете управляющие символы, вам может потребоваться убедиться, что все, что вы используете, поддерживает то, что вам нужно (то есть эмуляция vt100).

Одним из способов может быть использование Cygwin. Обычно я запускаю cygwin с X-сервером без рута и запускаю на нем xterm. Пока это было очень хорошо, и у меня не было много проблем. Я знаю клавиши со стрелками, и такая работа под ним прекрасно работает.

...