Win下必备利器之Cmder

Win下必备利器之Cmder

诚言,对于开发码字者,Mac和Linux果断要比Windows更贴心;但只要折腾下,Windows下也是有不少利器的。之前就有在Windows下效率必备软件一文中对此做了下记载;其虽没oh-my-zsh那么逆天的存在,却也甚是好用,至少要比Windows原生Cmd好出了天际。因为好用,所以“必备”

如觉此处排版不尽如您意,请移步原文首链-晚晴幽草轩or简书

id="iframe_0.2140427642143874" src="data:text/html;charset=utf8,%3Cimg%20id=%22img%22%20src=%22http://7xoosr.com1.z0.glb.clouddn.com/cmder.jpg?_=5132423%22%20style=%22border:none;max-width:850px%22%3E%3Cscript%3Ewindow.onload%20=%20function%20()%20%7Bvar%20img%20=%20document.getElementById('img');%20window.parent.postMessage(%7BiframeId:'iframe_0.2140427642143874',width:img.width,height:img.height%7D,%20'undefined');%7D%3C/script%3E" frameborder="0" scrolling="no" style="border: currentColor; border-image: none; width: 850px;">

安裝 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更是痛点需求。

id="iframe_0.790103400580972" src="data:text/html;charset=utf8,%3Cimg%20id=%22img%22%20src=%22http://7xoosr.com1.z0.glb.clouddn.com/msysgit-bin.png?_=5132423%22%20style=%22border:none;max-width:850px%22%3E%3Cscript%3Ewindow.onload%20=%20function%20()%20%7Bvar%20img%20=%20document.getElementById('img');%20window.parent.postMessage(%7BiframeId:'iframe_0.790103400580972',width:img.width,height:img.height%7D,%20'undefined');%7D%3C/script%3E" frameborder="0" scrolling="no" style="border: currentColor; border-image: none; width: 850px;">

配置 Cmder

启动Cmder

因为她是即压即用的存在,所以点击Cmder.exe即可运行。很显然这般打开她,不怎么快捷,即便用Listary高效搜索到她,然后点击;我们可以这样做:

  1. cmder 加到环境变量
    可以把Cmder.exe存放的目录添加到系统环境变量;加完之后,Win+r一下输入cmder,即可。

  2. 添加 cmder 到右键菜单
    在某个文件夹中打开终端, 这个是一个(超级)痛点需求, 实际上上一步的把 cmder 加到环境变量就是为此服务的, 在管理员权限的终端输入以下语句即可:

    Cmder.exe /REGISTER ALL

    打开一个管理员权限终端:
    输入 Ctrl + t, 或者点击下面控制条的绿色加号, 勾选 Run as administrator
    id="iframe_0.019455165674044483" src="data:text/html;charset=utf8,%3Cimg%20id=%22img%22%20src=%22http://7xoosr.com1.z0.glb.clouddn.com/cmderRunAdmin.jpg?_=5132423%22%20style=%22border:none;max-width:850px%22%3E%3Cscript%3Ewindow.onload%20=%20function%20()%20%7Bvar%20img%20=%20document.getElementById('img');%20window.parent.postMessage(%7BiframeId:'iframe_0.019455165674044483',width:img.width,height:img.height%7D,%20'undefined');%7D%3C/script%3E" frameborder="0" scrolling="no" style="border: currentColor; border-image: none; width: 850px;">
    这就打开了一个管理员权限的终端, 在里面输入上述语句,就可在每个文件夹右键菜单中点击 Cmder here唤起Cmder,方便快捷。

不用打开文件夹就能打Cmder,并进入该目录;爽。

  1. 借用Win下逆天神器:AutoHotKey(这个下篇要好好记载下)为Cmder配置自己喜欢的快捷键(个人用Alt+r):

    !r:: run, D:\**\cmder_mini\Cmder.exe

    个人比较推崇使用AutoHotKey;高效简洁,才是王道。

默认开启设置

作为强大的存在,必然支持私人定制。输入win + alt + p或者 在底部右击点击 settings, 进入设置页面;可以根据自己的所需进行各种配置(字体,皮肤等等等等)。

目前游走在前端,Gulp已离不开,Cmder+PowerShell这个组合无疑是运行gulp的利器。如下图所示,可以设置PowerShell作为默认开启的选项;也可以更改默认开启是所在目录。
id="iframe_0.08665690823838135" src="data:text/html;charset=utf8,%3Cimg%20id=%22img%22%20src=%22http://7xoosr.com1.z0.glb.clouddn.com/CmderSeting.jpg?_=5132423%22%20style=%22border:none;max-width:850px%22%3E%3Cscript%3Ewindow.onload%20=%20function%20()%20%7Bvar%20img%20=%20document.getElementById('img');%20window.parent.postMessage(%7BiframeId:'iframe_0.08665690823838135',width:img.width,height:img.height%7D,%20'undefined');%7D%3C/script%3E" frameborder="0" scrolling="no" style="border: currentColor; border-image: none; width: 850px;">

解决文字重叠问题

Win + ALT + P 唤出设置界面 > mian > font > monospce,去掉那勾勾即可。

修改命令提示符号·λ·

id="iframe_0.5988341424916055" src="data:text/html;charset=utf8,%3Cimg%20id=%22img%22%20src=%22http://7xoosr.com1.z0.glb.clouddn.com/CmderChange.jpg?_=5132423%22%20style=%22border:none;max-width:850px%22%3E%3Cscript%3Ewindow.onload%20=%20function%20()%20%7Bvar%20img%20=%20document.getElementById('img');%20window.parent.postMessage(%7BiframeId:'iframe_0.5988341424916055',width:img.width,height:img.height%7D,%20'undefined');%7D%3C/script%3E" frameborder="0" scrolling="no" style="border: currentColor; border-image: none; width: 850px;">
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)。

常用功能介绍

cmder 功能极为强大,功能也非常多,但从视窗画面上看不太出其强大实力,这里就先说下其「看的见」的功能:
id="iframe_0.011594891225291892" src="data:text/html;charset=utf8,%3Cimg%20id=%22img%22%20src=%22http://7xoosr.com1.z0.glb.clouddn.com/CmderFunction.png?_=5132423%22%20style=%22border:none;max-width:850px%22%3E%3Cscript%3Ewindow.onload%20=%20function%20()%20%7Bvar%20img%20=%20document.getElementById('img');%20window.parent.postMessage(%7BiframeId:'iframe_0.011594891225291892',width:img.width,height:img.height%7D,%20'undefined');%7D%3C/script%3E" frameborder="0" scrolling="no" style="border: currentColor; border-image: none; width: 850px;">
如上图示编号的部分说明如下:
1, 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

2, 可在视窗内搜寻画面上出现过的任意关键字。
3, 新增页签按钮,可透过滑鼠新增页签。
4, 切换页签按钮,可透过滑鼠切换页签。
5, 锁定视窗,让视窗无法再输入。
6, 切换视窗是否提供卷轴功能,启动时可查询之前显示过的内容。
7, 按下滑鼠左键可开启系统选单,滑鼠右键可开启工具选项视窗。 Win+Alt+P :开启工具选项视窗

cmder元件组成

cmder其实结合了多套软体,其中包括msysgit与最重要的ConEmuClink软体,而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

其他功能

  • 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

    这个在公司电脑上总不成功;问题无效的宏定义。;在写到这里时候,还未查明缘由【待探究,待更新】

---2016-01-14 20:05更新:
感谢@V友(zongwan)可以修改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来得快意(尤其Babun,内置oh-my-zsh和bash两种shell,想想都觉得很心动,有么有?)。环境虽如是,体验却在你。

大概就这样,折腾让生活更美好,不止于编程码字。还是那句话,与君共勉:
过一个平凡无趣的人生实在太容易了,你可以不读书,不冒险,不运动,不写作,不外出,不折腾……但是,人生最后悔的事情就是:我本可以。”——陈素封。

参考文章:
Cmder官网
利用 Chocolatey 快速在 Windows 下搭建一个开发环境
介绍好用工具:Cmder ( 具有Linux 温度的Windows 命令提示字元工具 )

原文首链(晚晴幽草轩):http://www.jeffjade.com/2016/01/13/2016-01-13-windows-software-cmder/#


对您可能有用(/感兴趣)的文章:

专注、热爱、 全心贯注于你所期望的事物上,必有收获。
标签: Cmder
12
0
« 上一篇: 你所不知道的setInterval
» 下一篇: 折腾之美
posted @ 2016-01-15 09:58 云轩奕鹤 阅读( 3717) 评论( 18) 编辑 收藏

  
#1楼 2016-01-15 10:17 便当之神  
看完了,也没感觉出好处在哪里。。汗- -
http://pic.cnblogs.com/face/161453/20150302225018.png
  
#2楼 2016-01-15 11:15 我是小茗同学  
关注了下楼主网站和简书的图片存储,发现博客园和个人网站的图片都是放在7牛上,而简书是单独上传的,问下楼主在多个网站(包括个人网站)之间发布Markdown,图片如何处理有啥经验不?
http://pic.cnblogs.com/face/352797/20160108090502.png
  
#3楼 [ 楼主] 2016-01-15 14:28 云轩奕鹤  
@ 六仙庵
喔,我是是这样的:采用Markdown本地统一写(内容存放7牛);内容直接CP到个人网站和博客园以及简书。
博客园图片还是保持之前的;而简书 发布 文章的时候,它自动采用些手段把图给放置到它那边了;

所以,图片存放这里也没什么经验;就弄好后放置7牛,然后引用路径而已。
http://pic.cnblogs.com/face/558479/20160314130847.png
  
#4楼 [ 楼主] 2016-01-15 14:29 云轩奕鹤  
@ 便当之神
喔, 看来描述的不是很给力咯;个人用起来感觉还挺好。据悉babun不错,你可以试试。
http://pic.cnblogs.com/face/558479/20160314130847.png
  
#5楼 2016-01-15 16:03 便当之神  
@ 云轩奕鹤
实际用了把,cmder还不错的。
http://pic.cnblogs.com/face/161453/20150302225018.png
  
#6楼 2016-01-15 17:10 失足程序员  
楼主,为什么 ALT,你要写ait???
http://pic.cnblogs.com/face/81890/20150722140004.png
  
#7楼 [ 楼主] 2016-01-15 21:00 云轩奕鹤  
@ 失足程序员
已更正。感谢指出来 O(∩_∩)O。
http://pic.cnblogs.com/face/558479/20160314130847.png
  
#8楼 [ 楼主] 2016-01-15 21:00 云轩奕鹤  
@ 便当之神
嗯,不错就好。(*^__^*)
http://pic.cnblogs.com/face/558479/20160314130847.png
  
#9楼 2016-01-15 23:38 Kurodo  
能自动帮我写代码么,然并卵
  
#10楼 2016-01-16 00:05 PowerShell免费软件  
看完了,也没感觉出好处在哪里。。我也同汗- -
作为powershell传教士的我,告诉你,我更建议你用纯powershell。powershell下没有git么?有的!!!
powershell下没有grep么?有gnuwin32版的,当然没必要用。有更好的支持选编码的select-string。grep和findstr都不支持【编码】参见select-string的-Encoding参数。grep何德何能比findstr强百倍呢?
你装个win10,命令参数还是彩色的。比你这个好。不用那么奇怪的【入】
Chocolatey 本身更是纯powershell软件源。
最后,我再用无情老拳打醒你!
---------------------------------------------------------------------
问:请问linux命令强,还是win强?
答:自从有了powershell,和高版本win。win比linux命令多太多,强太多了。

你可能不服,那是因为你不了解。
原来是linux命令强,win弱。
但自从有了powershell,每一个服务器功能,微软都会为其配套百十个命令。命令总数甚至上万。
比如exchange的命令总共400----500,比linux下邮箱的命令强很多。
linux+mail服务器,反倒更依赖(web)图形,很多功能,没有相关管理命令。
如linux下dnsd,dhcpd都要编辑文本,或依赖web图形,命令缺失,依赖鼠标。
而win下光dnsd的powershell命令100条命令左右。
win10中(get-command * ).count 得到2700多。哪家强?
我这句话问的一个linux人哑了,后来他说命令太多,没人会用也白扯。
我告诉他,命令虽多,每个命令都很简单,用的时候搜索即可。
况且win,linux都相同,常用的就20个,会30的是强人,会40的是牛人,会50的是大师了。他没话了。
  
#11楼 2016-01-16 00:27 雪雁  
@ PowerShell免费软件
引用 看完了,也没感觉出好处在哪里。。我也同汗- -
作为powershell传教士的我,告诉你,我更建议你用纯powershell。powershell下没有git么?有的!!!
powershell下没有grep么?有gnuwin32版的,当然没必要用。有更好的支持选编码的select-string。grep和findstr都不支持【编码】参见select-string的-Encoding参数。grep何德何能比findstr强百倍呢?
你装个win10,命令参数还是彩色的。比你这个好。不用那么奇怪的【入】
Chocolatey 本身更是纯powershell软件源。
最后,我再用无情老拳打醒你...

而且还可以使用.NET对象....
http://pic.cnblogs.com/face/70544/20150317132047.png
  
#12楼 2016-01-16 08:56 莫压枯枯地  
也是用cmder这个工具没多久, 也贴一个链接.
http://blog.miniasp.com/post/2015/09/27/Useful-tool-Cmder.aspx
http://pic.cnblogs.com/face/u129138.jpg
  
#13楼 2016-01-16 08:57 莫压枯枯地  
擦! 上面那个链接竟然说是不存在, 难道只能发园子里的链接? 不能发外部的链接? 什么鬼!
http://blog.miniasp.com/post/2015/09/27/Useful-tool-Cmder.aspx
http://pic.cnblogs.com/face/u129138.jpg
  
#14楼 2016-01-16 09:36 幻天芒  
这个工具还是很好用的,还能分屏开多个控制台。另外在地址栏输入cmd可以打开当前路径的cmd,如果是cmder的话,需要做如下处理。

1、将cmder.exe修改为cmder-raw.exe(名称随意)
2、新建一个cmder.bat,输入内容:cmder-raw %CD%
http://pic.cnblogs.com/face/343299/20150320135757.png
  
#15楼 2016-01-16 09:50 埋头前进的码农  
@ 便当之神
引用 看完了,也没感觉出好处在哪里。。汗- -

适合装逼人士使用。那些整天喷不用VIM不高大上的程序员。
http://pic.cnblogs.com/face/273228/20140809085159.png
  
#16楼 2016-01-17 00:05 Alvin  
tail -f 比较好用啊
http://pic.cnblogs.com/face/u1461.gif
  
#17楼 [ 楼主] 2016-01-17 22:31 云轩奕鹤  
@ PowerShell免费软件
哇喔,被张了 好多姿势,感谢。
http://pic.cnblogs.com/face/558479/20160314130847.png
  
#18楼 3450531 2016/6/12 15:48:10 2016-06-12 15:48 k19421  
@ PowerShell免费软件
powershell可以用awk么?


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值