1. 安装Cmder
Cmder官网http://cmder.net/
(她把conemu,msysgit和clink打包在一起,让你无需配置就能使用一个真正干净的Linux终端!她甚至还附带了漂亮的monokai配色主题。);作为一个压缩档的存在, 可即压即用。你甚至可以放到USB就可以虽时带着走,连调整过的设定都会放在这个目录下,不会用到系统机码(Registry),所以也很适合放在Dropbox / Google Drive / OneDrive共享于多台电脑。
下载的时候,有两个版本,分别是mini与full版;唯一的差别在于有没有内建msysgit工具,这是Git for Windows的标准配备;全安装版 cmder 自带了 msysgit, 压缩包 23M, 除了 git 本身这个命令之外, 里面可以使用大量的 linux 命令;比如 grep, curl(没有 wget); 像vim, grep, tar, unzip, ssh, ls, bash, perl 对于爱折腾的Coder更是痛点需求。
2. 配置 Cmder
2.1 启动Cmder
因为她是即压即用的存在,所以点击Cmder.exe
即可运行。很显然这般打开她,不怎么快捷,即便用Listary
高效搜索到她,然后点击,我们可以这样做:
2.1.1、把 cmder 加到环境变量:可以把Cmder.exe
存放的目录添加到系统环境变量;加完之后,Win+r
一下输入cmder
,即可。
2.1.2、添加 cmder 到右键菜单:在某个文件夹中打开终端,这个是一个(超级)痛点需求,实际上上一步的把 cmder 加到环境变量就是为此服务的,在管理员权限的终端输入以下语句即可:
Cmder.exe /REGISTER ALL
2.1.3、为Cmder.exe创建快捷方式:右击Cmder.exe选择“创建快捷方式”点击即可,以后打开Cmder.exe只要点击桌面对应的快捷方式即可
2.1.4、打开一个管理员权限终端:输入 Ctrl + t,或者点击下面控制条的绿色加号,勾选 Run as administrator
这就打开了一个管理员权限的终端, 在里面输入上述语句,就可在每个文件夹右键菜单中点击 Cmder here
唤起Cmder,方便快捷。不用打开文件夹就能打Cmder,并进入该目录;爽。
2.1.5、借用Win下逆天神器:AutoHotKey
(这个下篇要好好记载下)为Cmder配置自己喜欢的快捷键(个人用Alt+r
):
!r:: run, D:\**\cmder_mini\Cmder.exe
个人比较推崇使用AutoHotKey
;高效简洁,才是王道。
2.2 默认开启设置
作为强大的存在,必然支持私人定制。输入win + alt + p 或者 在底部右击点击 settings, 进入设置页面;可以根据自己的所需进行各种配置(字体,皮肤等等等等)。
目前游走在前端,Gulp已离不开,Cmder+PowerShell这个组合无疑是运行gulp的利器。如下图所示,可以设置PowerShell作为默认开启的选项;也可以更改默认开启是所在目录。
2.3 解决文字重叠问题
Win + ALT + P 唤出设置界面 > mian > font > monospce,去掉那勾勾即可。
2.4 修改命令提示符号·λ·
Cmder预设的命列列提示符号是λ;如果用着不习惯,可以将这个字元改成Mac / Linux环境下常见的$符号,具体操作如下:
编辑Cmder安装目录下的vendor\init.bat批处理文件(min版本15行),把:
@prompt $E[1;32;40m$P$S{git}{hg}$S$_$E[1;30;40m {lamb} $S$E[0m
修改成以下即可:
@prompt $E[1;32;40m$P$S{git}{hg}$S$_$E[1;30;40m $$ $S$E[0m
这个亲测在cmder.exe可以,但在PowerShell.exe需要另行设置:打开文件config/cmder.lua(prompt.lua也有版本是这个),将第二行中的λ修改为Linux下常用的$即可;亲测可行(2016-01-13)。
3. 常用功能介绍
cmder 功能极为强大,功能也非常多,但从视窗画面上看不太出其强大实力,这里就先说下其「看的见」的功能:
如上图示编号的部分说明如下:
-
Cmder常用快捷键 跟一般浏览器页签操作习惯一致:
-
可以利用
Tab
,自动路径补全(爽,赞!); -
可以利用Ctrl+T建立新页签;
-
利用Ctrl+W关闭页签;
-
还可以透过Ctrl+Tab切换页签;
-
Alt+F4:关闭所有页签
-
Alt+Shift+1:开启cmd.exe
-
Alt+Shift+2:开启powershell.exe
-
Alt+Shift+3:开启powershell.exe (系统管理员权限)
-
Ctrl+1:快速切换到第1个页签
-
Ctrl+n:快速切换到第n个页签( n值无上限)
-
Alt + enter: 切换到全屏状态;
-
Ctr+r 历史命令搜索;
-
End, Home, Ctrl : Traversing text with as usual on Windows
-
-
可在视窗内搜寻画面上出现过的任意关键字。
-
新增页签按钮,可透过滑鼠新增页签。
-
切换页签按钮,可透过滑鼠切换页签。
-
锁定视窗,让视窗无法再输入。
-
切换视窗是否提供卷轴功能,启动时可查询之前显示过的内容。
-
按下滑鼠左键可开启系统选单,滑鼠右键可开启工具选项视窗。 Win+Alt+P :开启工具选项视窗
4. Cmder元件组成
cmder其实结合了多套软体,其中包括msysgit与最重要的ConEmu与Clink软体,而ConEmu与Clink这两套软体就是cmder真正的核心元件。
-
msysgit除了提供Git for Windows 相关工具外,其实还提供了多套Unix/Linux 环境下常用的指令列工具,例如less, ls, tar, unzip, md5sum, grep, sed, … 等多套工具。光是一个grep 就不知道比Windows 内建的findstr 强几百倍了!
-
ConEmu也可以是单独一款软件存在,曾经一度迷恋于它,然而其体验并不如cmder,便放弃它了。
-
Clink 将GNU Readline 函式库整合进原生的Windows 命令提示字元视窗,提供命令列模式下强大的编辑与输入能力,这也是用了cmder 之后会这么像在Linux 环境下使用的感觉。
上述功能,目前没怎么用,根据学以致用原理,也就还没去了解去折腾。
Chocolatey软件包管理系统
在 Linux 下,大家喜欢用 apt-get(mac下用brew) 来安装应用程序,如今在 windows 下,大家可以使用 Chocolatey 来快速下载搭建一个开发环境。Chocolatey
的哲学就是完全用命令行来安装应用程序, 它更像一个包管理工具(背后使用 Nuget )
另外需要说明的是, Chocolatey 只是把官方下载路径封装到了 Chocolatey 中,所以下载源都是其官方路径,所以下载的一定是合法的,但是如果原软件是需要 Licence 注册的话,那么 Chocolatey 下载安装好的软件还是需要你去购买注册。不过 Chocolatey 一般还是会选用免费 Licence 可用的软件。
安装chocolatey,运行如下命令即可:
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
安装软件命令 choco install softwareName
,短写是 cinst softwareName
。可安装的应用程序,可以参见其 Package列表。以下是window下开发常用的开发环境应用:
choco install autohotkey.portable #安装 AutoHotkey (Portable) choco install nodejs.install #安装 node choco install git.install #安装 git choco install ruby #安装 ruby choco install python #安装 python choco install jdk8 #安装 JDK8 choco install googlechrome #安装 Chrome choco install google-chrome-x64 #Google Chrome (64-bit only) choco install firefox #安装 firefox choco install notepadplusplus.install #安装 notepad++ choco install Atom #安装 Atom choco install SublimeText3 #安装 SublimeText3
5. 其他功能
-
Cmder还增加了alias功能;他让你用短短的指令执行一些常见但指令超长又难以记忆的语法;比如
ls
cls
等等;在其控制台输入alias
可以查看。 -
主控台文字自动放大缩小功能,你只要按下Ctrl+滑鼠滚轮就可以办到;果你用支援两点触控的笔电,也可以在触控板上用两指放大的手势调整文字大小。还有:up,向上翻历史命令;
-
Cmder有极为简单的复制粘贴操作。Ctr+V直接粘贴;用鼠标选中你想拷贝的内容,自动就复制到剪切板;天神,这悉数的美感;点赞!
-
自定义aliases:打开Cmder目录下的config文件夹,里面的aliases文件就是我们可以配置的别名文件,只需将里面ls命令的别名按下列方式修改就可以在ls命令下显示中文。
ls=ls --show-control-chars --color=auto $*
当然,别名文件还可以有许多其他配置,如:
e.=explorer . gcc=cd D:\Document\gcc\ gw=cd D:\Document\GitHub\work gl=git log --oneline --all --graph --decorate $* ls=ls --show-control-chars --color=auto $* pwd=cd clear=cls
如果自定义的命令不能使用的话,应该是Powershell的问题。打开Powershell,属性中有个切换回旧版控制台,要勾选上,然后重启Cmder即可。
也可以修改Cmder目录下vendor\profile.ps1
文件,Like This:
Set-Alias st "C:\Program Files\Sublime Text 3\sublime_text.exe" function Git-Status { git status } Set-Alias gs Git-Status function go-Work {cd E:\work\web\cdn\} Set-Alias gw go-Work
st xxx
就用实现以sublimeText打开xxx文件;gw
下就能进入所设置的目录;gs
相当于在使用git文件目录下用git status
;凡此种种,为常用命令设置下简短别名,真心不错。
Windows的cmd就是一个奇葩的存在…如果你愿意花时间去找,你能找到很多的可以替代它的软件,譬如:Babun
, Gow
,Conemu
, clink
等等,任何一款都比原生Cmd来得快意。环境虽如是,体验却在你。
6. 相关问题的解决
从官网下载下来一个zip安装包,解压之后运行根目录的Cmder.exe即可。但是此时会有两个问题,一是ls命令不支持中文,二就是中文提示会有字体重叠现象。
6.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
6.2、解决文字重叠问题
Win + Ait + P 唤出设置界面 > mian > font > monospce 的勾勾去掉(点两下).
6.3、添加快捷键
右键 cmder.exe > 创建快捷方式 > 右键快捷方式 > 点击快捷键项 > 按 Ctrl + Alt + T. 以后按 Ctrl + Alt + T 的时候就会运行 Cmder 了.
6.4、个人配置的快捷命令
gw=cd E:\workspace
gwpc=cd E:\workspace\weipan-desktop-app
gwmb=cd E:\workspace\weipan-mobile-app
ga=git add .
gs=git status
gsh=git stash
gsp=git stash pop
gc=git commit -m "$*"
pull=git pull origin $*
pr=git pull --rebase origin $*
push=git push origin $*
gl=git log
nb=git branch $*
cnb=git checkout -b $*
cb=git checkout $*
gba=git branch -a
rh=echo git reset --hard$*