神器 cmder
当我们在 windows 环境下来进行开发编码工作时,是不是经常有一个不好的体验—— cmd 太弱了。
windows cmd 不足
- 界面太过于死板,不美观
- 相关的操作,以及命令支持不完善,无法达到,或是平衡 linx 平台下相关的操作习惯
- 当前各种框架平台不断发展,相关需要在命令行下执行的操作越来越多,而cmd没有多标签等相关的切换功能
- 窗口的大小直接受限,不能自如的调整窗口大小
- ...
以上所列出的点不尽全,相信只要有需要使用 shell 来进行终端操作的用户就能感觉到 windows 对于用户,在这方面的不友好。而现实的开发工作序列中,无论是我们的代码管理,还是我们的环境编译,以及其他相关框架或平台的应用,如若想完全的脱离终端,这种可能性及小。
另外,从操作的效率性方面来出发,命令行下的操作,要比鼠标和键盘的来回切换操作来得高效和方便。(也许你不太认可,但这是很大一部分人公认的。)
神器登场 cmder
cmder 是一款绿色且开源的软件,并且已经托管在了 github 上,其主要的目标即是在 windows 平台上,打造类 linux 的终端操作体验。
先来一张靓照:
从图中我们可以看到,中文支持友好,同时,终端的颜值很高,最最主要的是,本软件是高度可定制的。
只要是你愿意,你完全可以根据你自己的喜好,自定出一套你自己喜欢的主题出来。
如下图所示,你可以打开 Settings 来配置你自己的各种需要
主要特性
提供高度类 Linux 的终端体验
在我们平常的使用命令终端的体验过程中,如若能达到 linux 平台下相关命令的可靠性,那即是 windows 平台下开发者的福音,而 cmder 正是朝着这一方向而来的。可以支持的初略的列一下:
pwd ll ls whoami where cp rm unzip ...
快捷键支持丰富
- 打开设置: 使用
win + alt + p
- 新建标签:
ctrl + t
- 关闭标签:
ctrl + w
- 快速新建不同类型标签:
shift + alt + number
- cmd
- PowerShell
- 全屏:
alt + enter
- 返回上级目录:
ctrl + alt + u
- 历史查询:
ctrl + r
- 选择复制文本:
left mouse select
- 粘贴文本:
right click
更多的快捷键,你可以打开 Settings > Keys & Macro 中进行设置和查看。
支持命令别名(Aliases)配置
这是 cmder 所提供的一个非常方便的功能,我们可以很个性化的设置我们个人喜欢的命令,来完成某些长命令的输入。
以下是我别名配置的一个片段,大家可参考:
pwd=cd
clear=cls
history=cat "%CMDER_ROOT%config.history"
unalias=alias /d $1
vi=vim $*
cmderr=cd /d "%CMDER_ROOT%"
e.=explorer .
gl=git log --oneline --all --graph --decorate $*
l=ls --show-control-chars --color $*
la=ls -aF --show-control-chars --color $*
ll=ls -alF --show-control-chars --color $*
ls=ls --show-control-chars -F --color $*
对于中文支持的处理
在平常应用过程中,我们经常会遇到中文问题的苦恼,如何很好的解决中文在各种场景下的显示问题,是很多类似产品的一大痛点。
常见场景:
- 中文文件或中文文件夹名的显示和操作;
- VIM 中打开包含中文内容的文件查看及编辑等;
- git 提交代码到 github 等代码仓库时,中文日志的提交及查看;
几个关键配置要点:
- 中文字体的选择:我们需要选择相关支持中文字符显示的字体来做为软件的展示字体。
- 字符编码的选择:在 windows 下,很多文件名,及文件的编码都是以 GBK 为编码,因此,这里我们需要很慎重的选择软件的字体编码。
- 环境变量的设置:因本软件的类 linux 的设计,所以很多命令,如 git 都有着 linux 下相似的处理逻辑,而 github 这种是全以 UTF8 为编码的平台,因此,环境变量需要对此进行特殊处理。
- VIM 的字符编码配置:因是在 windows 平台中,很多的文件的编码可能是多种多样的,不是固定的某一种,因此,在 VIM 的配置中,就必须要考虑到这种情况,配置让它可以智能的识别并转换文件内容编码。
以下贴出我所配置的部分参数:
字体&字体编码配置
其中的 YaHei Consolas Hybrid 是我在编程过程中,所遇到的一种字体,对于中文、英文大小写、以及数字的支持以及辨识度很高。个人推荐使用,可以这下载安装,提取密码: tmgw
而其中因是在 windows 环境下,所以建议使用 GB2312 编码。
环境变量配置
为兼容 github 等使用,整体将 cmder 的环境变量中 LANG 设置为 UTF-8 ,以此实现 git log 等命令查看时支持中文。
VIM配置
为实现 VIM 支持各种编码格式文件的中文查看及编辑,cmder 内部已做好了配置进行处理,上图只是将相关的配置内容贴出。
整体配置及软件包下载
为方便大家直接使用,我将当前我所使用的版本,以及配置整体打包分享出来。
推荐大家使用,提取密码: 1aix