近来无事,总嫌弃自己的linux界面太丑,就算是装了Gnome3,比起unity来是好看多了,但总有那么些不和谐的程序出来搅场子。总体的感觉便是:各种程序的使用方式很不和谐,接口不够统一而优雅.
当然linux不是各种东西都不漂亮,起码,在切换到windows的情况下就能明显感觉到,缺了一个shell,工作效率都降低了不少.之前由于主要工作环境是linux,根本不在windows下写程序,便懒得去管它,放任自流.昨天晚上突发奇想,想把整个工作环境迁移到windows下.重新体验满满的gui的友好.这个时候shell的缺少就让人觉得不能容忍了.于是乎就有了这个标题.
事先我对于windows上的shell并没有什么了解.只是想当然觉得,实现一个功能简单的shell并不会很难(如果不考虑界面美观程度,不考虑运行速度,又只实现像是ls,cat这样简单的功能的话,写一个的确不会很难)。然而迁移到windows下的一个重要原因就是觉得对于界面的丑陋有些挑剔 ,怎么能就这么从一个坑跳入另外一个坑。
在linux的X环境下我使用guake作为shell的界面。这种下挂式又轻便的界面,比默认的terminal更对我的胃口。于是乎我第一步积极搜索的目标就是:“windows下类似于guake的shell”
皇天不负,我找到了ConEmu这个目标。我还没开始仔细研究它就发现:一个叫做cmder的shell已经整合了它,还附送git和clink(对于windows下shell的增强).这真是再好不过了.
然而这只是一个shell的界面,我还需要一个类似linux 的shell环境,诸如ls,cat这样的命令.这次更简单,一个叫做cygwin的程序可以满足我的需求.
接下来就是配置时间了,将这两个家伙整合在一起就是我的目标.
Cmder
点击链接可以打开它的官网,直接下载后,在根目录下就能找到可运行的文件.然而此时的Cmder对于中文的显示还是有很大问题的,需要进行两个步骤解决这个问题:
1.打开config目录下的aliases文件,在其后加上
l=ls --show-control-chars
la=ls -aF --show-control-chars
ll=ls -alF --show-control-chars
ls=ls --show-control-chars -F
2.打开cmder的设置,去掉主命令行字体中monospace前面的勾。
Cygwin
点击链接下载。下载来的是一个在线安装器。其中某一步需要选择下载的镜像源,记得在那里选择一个.cn结尾的,或者其他速度够快的。一开始我选择默认的,卡在一个进度上不死不活;换了源之后几秒钟就搞定了。
Cmder+Cygwin
安装完的cygwin也会提供一个可执行的命令行,但我自然是嫌它长得太丑的。把上述的两个家伙整合起来。
如上设置cygwin shell的启动路径和参数,然后在startup当中将默认启动的shell设置为cygwin即可。
当然,这样设置起来的shell比起真正的linux下的shell还是少了非常非常非常非常多的功能的,只能说,各位,尽情发挥想象力吧,把需要的功能自行添加进你的cygwin shelll当中。