Вопрос

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

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

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

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

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

Это было полезно?

Решение

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

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

Другие советы

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

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

mingw-get install mintty
mintty

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

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

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top