一个*nix用户的Windows生存手册

一个*nix用户的Windows生存手册


1 CLI

对*nix用户来说,在Windows下生存的头等大事就是命令行设施的简陋和匮乏。 不管是终端模拟器还是shell,都比较差,cmd.exe不能改字体,shell从语法 上和Unix下各种差得远,工具也比较匮乏。PowerShell算是有一些较为先进 的设计和特性,但是对基本的问题解决的不好。下面这几种解决方案,大部 分人应该能从中选择出一个差强人意的方案。

1.1 Eshell

Eshell作为一个term和Shell都很好,但是你不见得是Emacs用户(也不建议 你成为emacs用户),另外,Eshell处理一些交互程序可能会有问题,比方 说直接跑python就不行,得用 c:/Users/matao/org $ python -i 才行。但是对IPython就不行了。

1.2 ConEmu

http://code.google.com/p/conemu-maximus5/

ConEmu是一个终端模拟器,类似Konsole,gnome-terminal之类的东东,支持 多标签,字体、颜色设置,勉强能追上Linux下面那些terminal。可以指定 shell,可以用cmd.exe,powershell,也可以用IPython(建议用IPython)。

1.3 Console2

http://sourceforge.net/projects/console/

类似ConEmu,但是感觉比ConEmu差一点。

另外,Console2用cmd.exe有Prompt错位的问题。

可以通过Console2的View -> Console Window打开一个cmd.exe窗口,更改这 个窗体的字体为新宋体就可以解决了。

1.4 IPython

IPython是Windows下比较理想的Shell,特别是对我这样的Python专家来说。 它本身是一个Python Shell,因此可以使用一个还不错的通用编程语言来做 日常工作,比*nix下那些什么csh,ksh,bash之类的bullshit强多了。而且 IPython还支持readline。

IPython有一些内置命令,和一般shell下的一致,其他的,可以用形如 In [6]: !tar 这样的去做。

当然也可以自己用Python去扩展它,以更加适合作为一种通用的Shell。

1.5 GnuWin32

http://gnuwin32.sourceforge.net/

Windows下的CLI Utility比较匮乏,gnuwin32提供了一些常用的*nix工具, 比如zip,tar,grep之类的,结合上面的命令行工具(term,shell),和 GnuWin32里面的utilities,应该能够满足比较多的需求了。

1.6 结论

如果你是一个Emacs老手,使用Eshell(结合GnuWin32),否则,使用一种 terminal emulator + IPython/cmd/powershell + GnuWin32.

2 开发

2.1 UNIX Compatable Application

使用Windows的SUA(Subsystem for UNIX-based Application) 提供的POSIX 兼容的API开发,这样开发的程序,甚至可以在*nix下用MinGW交叉编译工具 链在*nix下编译出Windows Excutable。

2.2 开发环境

C++开发者应该毫不犹豫的使用Visual Studio + Visual AssistX + VsVIM(即便目标平台并非Windows),非常好的重构功能,极大提升生产力 的编辑环境。

其他的我一般是用Emacs。

3 杂项

3.1 字体

用MacType获得Mac风格的字体渲染。

3.2 Emacs相关

  • 使用putty的plink作为tramp默认程序。

    http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

    把plink.exe放在%PATH%下面,这样配置Emacs:

    (require 'tramp) (setq tramp-default-method "plink")  
  • M-w 不工作的问题

    QQ使用了 Alt-w 作为热键,在QQ设置里面去勾选掉这一项就行了。

  • 如何判断host os类型

    变量 system-type ,其值应该是 ="windows-nt"= .

  • el-get的替代品

    Emacs 24添加的新功能package management.用法和el-get差不多。(并 建议在所有平台下使用package)

  • 无法打开achieve文件(zip,tar,jar…)

    没有相应的解压程序,安装GnuWin32,并将gnuwin32/bin加入%PATH%即可。

3.3 Python相关

有一些包通过pip或者easy_install安装不上。这里有一个非官方的安装包 集合:

http://www.lfd.uci.edu/~gohlke/pythonlibs/

3.4 pacman/port替代品

360软件管家/QQ软件管家

Date: 2012-03-20 Tue

Author: MaTao

Org version 7.7 with Emacs version 24

Validate XHTML 1.0

你可能感兴趣的:(一个*nix用户的Windows生存手册)