对于一个UNIX下用惯了各种终端和各种shell的人来说,在Windows世界里最大的痛苦是那个蹩脚的cmd。虽然有Cygwin和Msys 的mintty/rxvt,但它们还是更适合跑bash和它们自己的term类程序,不适合跑Windows的console程序(比如路径的斜线/反斜 线问题,比如ANSI颜色问题。。。)
下面,我们分两方面来找找替代品,这次介绍console emulater,类似UNIX下终端仿真器(terminal emulator)那样的东西,让多个字符界面程序(比如cmd/bash/python shell)跑在一个窗口里,下次再介绍类似UNIX下shell那样的东西,切实改进cmd那可怜的交互能力。
http://code.google.com/p/conemu-maximus5
看看下面的特性列表,颤抖吧!
putty
/记事本等都可以)嵌入为标签页; 注意: 中文用户请使用2012-06-17之后的版本,因为这个版本刚修正了中文的显示问题(以前的版本会在命令行中出现每个汉字出现两遍的情况。这也是为什么以前我没有推荐这个好工具的主要原因)。
补充说明一下如何将其它程序变为ConEmu里面的标签页(参见其Wiki: LaunchNewTab):
putty -new_console,
确定,哒哒!
putty
就变成ConEmu的一个标签页了; 输入:
vim -new_console
然后vim就在一个新的标签页里面打开了! (是的,其实这里的
-new_console
并不是putty或者vim的参数,会被ConEmu拦截并进行处理。)
"%ConEmuBaseDir%\ConEmuC.exe" /c vim.exe -new_console:nh0 c:\sources\1.cpp
(详细解释可以参看其Wiki: NewConsole )grep
-new_console -nHi --color path cmd_autorun.cmd
而当前cmd并不阻塞,可以继续输入其它命令(缺省不想激活新标签页的话可以用-new_console:b
) http://sourceforge.net/projects/console
Console2的功能就比较简单,主要是提供了多标签页,另外有一些小的功能(比如可以选择字体、可以半透明等)。
对各类Console程序兼容性比较好,cmd/python/bash/vim都可以正常运行。
不过按缺省的设置,在中文系统上使用时,会存在文字错行的问题,解决方法是将如下内容导入注册表
(注意拷贝到xxxxxx.reg文件时要保存为Unicode编码,然后才能导入。转自: 介绍几个cmd的替代品_时光可见 )
Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Console\Console2 command window] "CodePage"=dword:000003a8 "FontSize"=dword:000a0000 "FontFamily"=dword:00000036 "FontWeight"=dword:00000190 "FaceName"="新宋体" "HistoryNoDup"=dword:00000000
但中文输入还是有问题: 不能激活输入法,也就是说无法输入中文,得在其它地方输入了再粘贴过来。
(图片来自: http://blog.darkthread.net/blogs/darkthreadtw/archive/2007/02/08/console2.aspx )
http://www.softwareok.com/?Freeware/ColorConsole
ColorControl也是一个比较简单的多标签Console,附带几个小功能(选中部分文字改变其颜色,带颜色导出终端文字到HTML/RTF,通过菜单快速跳转到某个目录)
ColorConsole在程序兼容性上有比较严重的问题,不仅无法运行vim/jasspa等全屏程序,而且msys-bash/python/jsdb等命令解释器全都无法正常运行。
上面说的几个工具都可以提供标签页,而不能提供分屏能力,但PowerCmd可以(同时也可以再多标签页)。
另外有一些小功能:
不过我并不推荐这个工具,一方面它不是免费的; 另一方面它有不少问题: 无法运行python shell(jsdb/lua倒可以运行);跑msys bash时所有msys程序(比如ls,grep)都会segmentation fault;对一些基于屏幕的程序,虽然是象GUI程序一样打开新窗口,但有时不能正确识别(比如jasspa me) 。