2008-10-21 7 views
15

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

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

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

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

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

+0

Я использую копию cygwin rxvt, и я не заметил этих проблем. По крайней мере, не с более нормальной оболочкой = клавиши управления, такие как и т. Д. Используете ли вы другие вещи? Можете ли вы попробовать использовать MinGW с cygwin? – 2008-10-21 04:11:15

+0

Я должен исправить, что rxvt действительно что-то посылает, он просто не играет с GHCi. например клавиши со стрелками вставляют скрытые символы '\ ESC' (разрушая все, что у вас было) вместо их обычной функции. У Ctrl-C также есть проблемы, и есть даже программа-оболочка ghcii.sh, чтобы справиться с этой проблемой. – dbs 2008-10-21 19:18:11

ответ

14

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

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

+0

Эта замена адресовала все проблемы, спасибо! – dbs 2008-10-21 19:20:49

3

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

0

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

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

8

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

-5

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

7

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

mingw-get install mintty 
mintty 
1

Использование PowerShell вместо старого ЦМД. Затем запустите ш как этот

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

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

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

1

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

 Смежные вопросы

  • Нет связанных вопросов^_^