再见2015 再见cmd

本文作者:IMWeb yisbug 原文出处:IMWeb社区 未经同意,禁止转载

2015年已经快要过去了,你是否还在使用有着十几年历史的cmd命令行工具?

尽管进入win10以后,老旧的cmd工具终于作出了一些改变,拥有了一些新特性,例如已经支持了ctrl+c/v快捷键,窗口大小宽度可以随意调整等等。但目前来看,cmd仍然是最难用的命令行工具。

而在windows和osx哪个系统更好用的争论中,命令行则永远是windows的一个痛处。当年我看到osx中花花绿绿的命令行以后,非常肤浅的感叹,命令行也能这么漂亮,于是不争气的花了一万大几入了台mac。当然,后来又回到了ThinkPad,只因我已经变身为一个成熟稳重的理工男,不再犹豫彷徨。

那么,windows下有没有类似osx下的iterm2之类的工具呢?作为全宇宙最好用的windows系统,答案当然是肯定的啦。

看图:

是不是帅呆了?

Cmder简介

官方介绍如下:

Portable console emulator for Windows。

Cmder is a software package created out of pure frustration over the absence of nice console emulators on Windows. It is based on amazing software, and spiced up with the Monokai color scheme and a custom prompt layout. Looking sexy from the start.

总之,cmder不是一个独立的工具,应该说是一系列工具包的集合,包括Conemu、clink、git for windows等,足够简单好用,并且功能强大,符合一款优秀软件的定义。

最最重要的是,默认使用了Monokai主题,看起来非常性感。

为什么这点非常重要呢,知道为什么sublime text风靡全世界吗?因为sublime默认主题就叫做Monokai。

更多的介绍,感兴趣的可以直接看官方,地址 http://cmder.net/

日常使用

这里简单分享几个日常使用的姿势。

安装使用

下载完整版(打包了git for windows),直接安装。

完毕后,运行c:\cmder\cmder(这里根据安装目录不同自行修改)即可打开漂亮的cmder窗口,当然你也可以手动添加安装目录到系统环境变量中,这样就可以直接运行cmder命令。

cmder运行时,会把vendor目录下的git等自带软件包目录设置到当前的环境变量中,这样就能够使用一些linux命令包括git、ssh、vim、grep等。

不需要任何设置,开箱即用,绿色环保,是不是非常简单?

快捷键

cmder内置的Conemu支持非常多的快捷键,并且为了方便上手,默认快捷键照顾了大多数人的习惯,基本可以无缝切换直接上手。

例如输入命令时,ctrl+a/e home/end 都可以回到行首行尾。

其他快捷键参考chrome,例如ctrl+w关闭当前tab,ctrl+t新开tab,ctrl+(0,9)切换到不同的tab。

除了默认的快捷键外,也可以自定义一些列快捷键,如图:

默认快捷键基本够用了,我只自定义了一个快捷键,alt+shift+2,在右侧分屏。在1080p的屏幕上开4列窗口,一般的工作中已经够用了。

aliases

cmder另外一个强大的功能,就是支持自定义短命令代替那些长的不方便记忆的命令。

打开安装目录config/aliases文件,直接修改之。

例如:

e.=explorer .

就可以输入命令e.直接打开资源管理器当前目录。

再比如添加一条:

gc=git commit -m $1

其中$1代表gc命令后面添加的参数,于是就可以这样用:

gc "需求变更,功能回滚"

甚至可以使用连接符&组合多个命令一起使用。

是不是觉得每次提交到git很麻烦?需要敲好几个命令,那么你可以添加这样一条alias:

gs=git add -A&git commit -m $1&git push

之后只需要打出一行命令:

gs "产品说不做了,删除"

就可以添加所有本地变更的文件到版本库并直接push到远程仓库。

配合sublime text 3 使用

在sublime中打开ctrl+p打开package control:install package,搜索Terminal并安装。

然后打开sublime菜单,Preferences->Package Settings->Terminal->Settings-User,输入以下内容:

{
    // The command to execute for the terminal, leave blank for the OS default
    // On OS X the terminal can be set to iTerm.sh to execute iTerm
    "terminal": "c:\\cmder\\cmder.exe",

    // A list of default parameters to pass to the terminal, this can be
    // overridden by passing the "parameters" key with a list value to the args
    // dict when calling the "open_terminal" or "open_terminal_project_folder"
    // commands
    "parameters": ["/START","%CWD%"]
}

其中terminal的值根据你的安装路径而定。

再设置快捷键,打开sublime菜单Preferences->Key Bindings - User,添加以下快捷键:

{
    "keys": ["ctrl+alt+w"],
    "command": "open_terminal_project_folder"
}

我设置的快捷键为ctrl+alt+w,你可以自行修改为适合自己的快捷键。

设置好以后,就可以使用上面设置的快捷键打开sublime中已经开的项目,并把路径定位到项目根目录。

使用ssh keys

和windows下的配置一样,执行以下命令:

cd %userprofile%
mkdir .ssh

然后把id_rsa、id_rsa.pub复制到.ssh目录即可。如果没有key,则自己生成一个。

使用ssh代理

如果内网禁止了ssh的端口或者需要使用代理,则执行以下命令:

cd %userprofile%
cd .ssh
vim config

按a输入以下内容:

ProxyCommand "C:\cmder\vendor\git-for-windows\mingw32\bin\connect.exe" -H www.proxy.com:8080 %h %p

Esc,输入:wq保存退出,就可以使用代理了。 当然,要记得将路径换成你自己的安装路径,代理的host和port也需要对应修改。

最后

好了,介绍到这里就差不多了。如果你还在用cmd的话,那么一定要试试cmder,会给你带来惊喜的。

关于cmder还有更多的使用方式可以自行探索研究,有什么好用的姿势也欢迎到评论里分享给大家。

最后提前祝各位新年快乐,一切顺利!

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏解Bug之路

解Bug之路-记一次JVM堆外内存泄露Bug的查找 顶

JVM的堆外内存泄露的定位一直是个比较棘手的问题。此次的Bug查找从堆内内存的泄露反推出堆外内存,同时对物理内存的使用做了定量的分析,从而实锤了Bug的源头。笔...

984
来自专栏生信技能树

点击此文,无需转发,即可下载上千个免费R包

写在前面: 谨以此文献给那些“奋斗”在转发送别人资源,为了博人眼球,而践踏别人的辛勤的劳动成果的公众号们。 当然了,R包本来就是免费的,你只是不会下载而已,所以...

4298
来自专栏拂晓风起

浅谈HTML5单页面架构(一)——requirejs + angular + angular-route

2502
来自专栏全栈之路

工作以来用过的工具和网站

这是一个特别棒的编辑器,支持各种语言,内部集成了插件下载工具和git版本管理工具,而且界面结构特别简洁优雅,重要的它还是免费的。目前用它来开发服务器端,使用语言...

1082
来自专栏FreeBuf

Kali Linux渗透基础知识整理(四):维持访问

*本文原创作者:sysorem 维持访问 在获得了目标系统的访问权之后,攻击者需要进一步维持这一访问权限。使用木马程序、后门程序和rootkit来达到这一目的。...

3698
来自专栏cs

wechat作弊

菜鸟一个最多跳60多分,看到 微信小游戏跳一跳外挂教程(安卓版)的教程,自己尝试了一下,ubuntu17环境,python2,python3公存在,开始失败了,...

3749
来自专栏IT技术精选文摘

解Bug之路-记一次JVM堆外内存泄露Bug的查找

1443
来自专栏美团技术团队

LsLoader——通用移动端Web App离线化方案

背景 由于JavaScript(以下简称JS)语言的特性,前端作用域拆分一直是前端开发中的首要关卡。从简单的全局变量分配,到RequireJS实现的AMD模块方...

46717
来自专栏along的开发之旅

adb shell 如何选择特定的设备?

其实这个一查,stackoverflow或者百度谷歌一大把,比如这个“http://stackoverflow.com/questions/14654718/h...

812
来自专栏美团技术团队

Redis高负载下的中断优化

Redis 服务端的总体请求量从年初最开始日访问量百亿次级别上涨到高峰时段的万亿次级别,给运维和架构团队都带来了极大的挑战。

1.2K11

扫码关注云+社区

领取腾讯云代金券