Кипящая оболочка MSYS - сменная?

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

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

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

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

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

Ответы

Ответ 1

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

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

Ответ 2

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

Ответ 3

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

mingw-get install mintty
mintty

Ответ 4

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

Ответ 5

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

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

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

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

Ответ 6

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

Ответ 7

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

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

Ответ 8

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