31

Windows 终端(围绕文本应用程序的用户界面,如 cmd.exe)真的很烂。

Unix 风格的终端可以做的很多事情是 Windows 终端显然无法做到的,例如,如果您想通过拖动边框在两个维度上重新调整窗口大小怎么办。Windows 终端只允许您更改它的长度。

剪切和粘贴,在 Linux 或 Unix 上,没问题 - 选择框很好地环绕,因此您可以剪切多行表达式。Windows 终端(即使在快速编辑模式下)强制使用一个奇怪的矩形选择框,这没有实际用途 - 您必须重新格式化您在记事本中复制的所有内容!

每当我进入“编辑”模式时它会阻止应用程序这一事实怎么样 - 我敢肯定,有些人希望能够在不停止关键业务服务器的情况下进行剪切和粘贴。

我敢肯定,如果我们全神贯注,我们可以想到更多的错误——但我们不要抱怨..我们能做些什么来让它变得更好?

更新:澄清一下,我不想替换 cmd.exe - Powershell 和 CygWin 都提供了更好的选择。我正在尝试替换控制台应用程序,即围绕 Windows 中所有文本应用程序的 GUI。

4

14 回答 14

42

我个人将Console2与MYSYS-Git附带的 Bash 一起使用。

您还可以使用 PuTTY 和 SSH 连接到真正的 linux 机器;-)

于 2009-01-23T17:50:07.320 回答
9

也许使用Console 2 ?它现在真的很稳定,并且允许您非常轻松地在 cmd/PowerShell/cygwin/任何其他 shell 之间切换。老实说,微软不太可能很快改进原生 Win32 控制台。

于 2009-01-23T17:51:12.717 回答
7

我发现这个问题的唯一“解决方案”是安装 Cygwin/X 并改用 XTerm。我每天在工作中都使用它。

于 2009-01-23T17:49:43.887 回答
5

您可以独立更改两件事 - 您的终端仿真器和您的 shell。

使用更好的终端仿真器

这将允许您正常选择文本(而不是愚蠢的矩形)。我喜欢 Console2,它是快速、轻量级和可靠的http://sourceforge.net/projects/console/

还有ConEmu https://code.google.com/p/conemu-maximus5/

还有 Mintty https://code.google.com/p/mintty/(与 Putty 使用的终端模拟器相同)。Mintty 无法运行交互式应用程序,例如nanovi。Mintty 也不能运行cmd,只有 Bash。

无论您选择什么,将“在此处打开控制台”项添加到 Windows 资源管理器上下文菜单都会很有用。https://stackoverflow.com/a/17663556/284795上的说明

使用更好的外壳

碰杯

Clink 改进了cmd,添加了会话历史记录和 Bash 样式的自动完成功能。 https://code.google.com/p/clink/

重击

最可靠的 Windows 版 Bash 发行版是 MSysGit。它很容易安装,而且你会得到一个免费的 Git https://code.google.com/p/msysgit/

在这一点上,有必要解释一下 MSys 和 Cygwin 之间的区别。MSys 是一系列精心移植到本机 win32 API 的应用程序,而 Cygwin 是一个可以运行任意 Linux 应用程序的仿真层。

根据我的经验,MSys 更舒服,它与 Windows 的互操作性更好(特别是它如何处理路径)。虽然 Cygwin 有更多的应用程序,而且是更新的。

于 2013-07-16T16:17:11.480 回答
4

我发现iPython 在它的 -s 模式下尽可能接近。它还兼作 python 交互式 shell。

于 2009-01-23T20:39:16.447 回答
3

我对所有 Windows 机器做的第一件事就是安装 Cygwin

Cygwin 也有一些扩展,比如 ssh 等。

于 2009-01-23T17:50:19.940 回答
1

不是一个直接的答案,但由于您有时必须在 Windows CMD 窗口中工作,因此有 2 个设置对于使其可以忍受是绝对必要的。

当我使用新计算机时,我做的第一件事就是将屏幕缓冲区大小设置为 9999(高度)、300(或母猪宽度)。这使您可以随心所欲地左右滚动,并为检查日志提供重要的缓冲区。不要设置窗口大小,它几乎没用。

我要做的另一件事是检查“快速编辑”模式,这使得复制/过去变得更加容易,您可以通过单击/拖动来快速暂停滚动屏幕(开始选择)。

这并不完全是解决问题的方法,只是相关的建议,可能有助于以不同的方式解决他提到的特定问题(而且是一个非常有用的习惯!)。

于 2012-11-30T21:48:10.137 回答
0

不要试图在 Windows 上强制 Unix 行为——这有点不自然——你为什么不检查一下PowerShell,微软的下一代 Windows 外壳?

于 2009-01-23T17:52:34.383 回答
0

我还没有在 WIndows 上尝试过 KDE,但据称它现在可以在撰写时的最新版本中使用。

于 2009-02-11T02:08:52.470 回答
0

要更改 cmd 提示符的大小,您可以从属性框中更改窗口大小,这只会调整窗口本身的大小,或者/并且您可以更改缓冲区大小,这将调整...如何描述它,记住的行数。要访问属性工具箱,请右键单击标题栏和属性。

此外,如果您想从 cmd 提示符快速复制内容,请启用属性窗口中的“快速编辑”框 - 它将使您能够选择内容,并通过右键单击“复制”它。

于 2009-02-11T02:21:38.930 回答
0

Cygwin 中有一个本地 Windows 版本的 rxvt。它似乎工作得很好,可以轻松调整大小,例如全屏。

于 2009-12-10T10:43:07.340 回答
0

我在 Windows 上使用JTerm 桌面控制台。它具有所有主要 Linux / Unix 命令的 Java 实现,例如我们的 ls、grep、find、cd、cp、mv 等。它有一些限制,但总的来说它可以工作。

于 2015-11-13T00:01:01.210 回答
0

如果您想要 CYGWIN 替代品

npm install -g cash-global

一篇关于The Cash Shell .

您也可以在这里npm查看包裹。

希望这可以帮助。

于 2016-05-22T10:28:53.600 回答
-2

我认为您寻找我可以争论的 Powershell 比 linux bash 或至少具有相同的功能更强大。

于 2009-02-11T01:47:55.127 回答