15

我需要一个可维修的 MSYS 外壳。这是我目前的困境:

默认的 rxvt.exe 具有滚动条和复制粘贴功能,但不会将控制字符或箭头键发送到 shell 中正在运行的程序(如解释器/调试器)。在使用 Haskell 解释器 ghci 时,这是一个真正的难题。

另一个 shell sh.exe 处理控制字符(或至少其中一些),但没有滚动条或复制和粘贴。

rxvt 在输出缓冲方面也有(相对)更多的问题

我有哪些选择?替换外壳是否需要 msys 感知?我想要的只是一个健全的环境来使用 Haskell (ghc)、C++ (gcc) 和基本工具链(make 和 what not)。如果它不涉及疯狂的恶作剧,我愿意编译一个 shell。

4

8 回答 8

14

如果您想要一个更好的终端模拟器,我已经成功使用http://sourceforge.net/projects/console/

它是标准 Windows 命令窗口的替代品。你可以设置 MSYS 或 Cygwin,或者任何你想要的作为支持它的 shell。

于 2008-10-21T04:34:50.030 回答
8

检查http://code.google.com/p/mintty/。那个怎么样?我觉得它绝对有用。还是 puttycyg(较旧的尝试)?

于 2009-09-11T10:49:35.713 回答
7

从 msys 外壳:

mingw-get install mintty
mintty
于 2012-02-03T05:56:23.970 回答
3

您混淆了“shell”和“终端仿真器”。sh.exe是前者;rxvt 是后者。(请注意,在 Windows 下,您可以不使用终端模拟器,因为 Windows 会为任何尚未在其中运行的控制台程序(例如 sh.exe)创建一个(“控制台窗口”))

于 2008-10-21T04:24:41.440 回答
1

使用 PowerShell 而不是旧的 cmd。然后像这样运行 sh

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

我使用 MSYS2 和 Haskell Platform 2014.2.0.0 在 Winows 8.1 上进行了测试。使用 GHCi 没有问题。所有箭头键和其他键都按预期工作。

此外,我无法按照其他答案中的建议让 Console2 在 Windows8 上正常工作。

于 2014-10-10T16:26:45.110 回答
1

这个问题有点过时了;mintty现在默认包含在 MSYS2 中。具有讽刺意味的是,我无法访问 GHCi 中的命令历史记录——按下会移动光标,并将\ESC代码放在输入缓冲区中——通过删除 mintty(pacman -R mintty从 MSYS2 shell 中) 为我解决了这个问题。

于 2015-06-10T15:23:23.243 回答
0

我没有使用过 msys 的东西,但是使用 rxvt 以外的东西并在其中运行 sh.exe 就足够了。现在,如果您使用控制字符,您可能需要确保您使用的任何内容都支持您需要的内容(即 vt100 仿真)。

一种方法可能是使用 cygwin。我通常使用无根 X 服务器运行 cygwin,并在其上运行 xterm。到目前为止,它一直非常好,而且我没有遇到很多问题。我知道箭头键和这样的工作就很好。

于 2008-10-21T19:13:24.173 回答
-5

帮自己一个忙,使用适当的 Cygwin,而不是旧 Cygwin 版本的未维护分支,即 msys。

于 2009-10-22T19:20:39.050 回答