cmder

cmder是一款Windows环境下非常简洁美观易用的cmd替代者,它是一个跨平台的命令行增强工具,可以集成windows batch, power shell, git, linux bash等多种命令行于一体,支持了大部分的Linux命令,比如 grep, curl(没有 wget),vim,grep,tar,unzip,ssh,ls,bash,perl等。还可以通过自定义,让它更方便。最重要的是颜值也比Windows自带的cmd好得多,支持文字颜色区分。

Windows自带的cmd有哪些缺点

  1. 复制文本,不能直接用鼠标拷贝,还需要多一道菜单操作;而且,还只能块状拷贝,而不是按行字符,极其不便
  2. 不支持多Tab页,多窗口管理不便

安装cmder

cmder官网下载Full版本(内建Git for Windows),直接解压便可以使用啦


让cmder便于使用

将cmder添加到右键菜单中

  1. PATH中增加Cmder.exe所在目录(如D:\Program Files\cmder)
  2. 然后进入Cmder的根目录,在命令行中执行Cmder.exe /REGISTER USERCmder.exe /REGISTER ALL注册表命令,就可以在右键中出现Cmder Here了

另外呢,在网上我又看到这样一段gist描述去添加右键

在Cmder根目录新建一个init.bat,输入以下代码:

@echo offSET CMDER_ROOT=%~dp0reg add “HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\shell\Cmder” /ve /d “Cmder Here” /freg add “HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\shell\Cmder” /v “Icon” /d “\”%CMDER_ROOT%cmder.exe\”” /freg add “HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\shell\Cmder” /v “Extended” /freg add “HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\shell\Cmder\command” /ve /d “\”%CMDER_ROOT%cmder.exe\” \”%%V\”” /fpause

以管理员身份运行init.bat即可。删除的话再在根目录新建一个uninit.bat,依然是以管理员身份运行。代码如下:

@echo offReg delete “HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Directory\Background\shell\Cmder” /fpause


在设置中添加语言环境

set LANG=zh_CN.UTF8


设置默认使用cmd、PowerShell还是bash

安装之后默认的是cmd,至于选择哪个得看个人需求

对于普通使用者来说,这里从几个方面来比较一下 cmd 以及 PowerShell

  • 资源占用

当我们运行 Cmd 时,大概只需占用不到 1M 的内存,几乎可以忽略不计。

而使用 PowerShell 时,需要占用大约 20M的内存,两者几乎相差 40~50 倍。从这里可以看出,如果你的电脑比较老旧,性能较低,使用 Cmd 无疑可以获得更高的流畅性。

  • 界面

当我们使用 Cmd 时,所有的字符都是同一个颜色的,无法实现语法高亮。但是,如果使用的是 PowerShell,关键字会被高亮,而且错误信息将以红色显示,确实美观不少。

  • 排版

当我们使用 Cmd 运行一些较为复杂、较为耗时的命令时,随意拖动命令行窗口时,窗口中的内容依然能够保持原样,整洁美观。

但是,若是使用 PowerShell 执行同样的命令,情况就不容乐观了。如果在执行命令期间快速拖动命令行窗口,其窗口中的中文字符就会出现叠影,严重影响了阅读感。

  • 命令支持程度

Cmd 只能支持传统的 Windows 命令,既不能使用 .net 库中的命令,也不能使用 Linux 下的命令。但这方面 PowerShell 就强大多了,不仅完美支持传统 Windows 命令和 .net 库中的命令,也支持部分常用的 Linux 命令。

如果你并不常用命令行工具,建议使用 Cmd,它的资源占用更小,启动速度更快,而且更为成熟可靠稳定。但如果你是一个程序员,或是追求新奇特性,可以尝试使用 PowerShell,毕竟,它支持更多的命令内容,界面也更绚丽。


调节背景的透明度


添加ll等命令

cmder->config->aliases,打开aliases文件(我这里的便是user-aliases.cmd文件),将

1
2
3
4
l=ls --show-control-chars 
la=ls -aF --show-control-chars
ll=ls -alF --show-control-chars
ls=ls --show-control-chars -F

添加至文件末尾,用于增强命令并添加颜色区分。


常用快捷键

快捷键 含义
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 历史命令搜索
Win+Alt+P 开启工具选项视窗
Ctrl + Shift + v 复制

Q&A

解决文字重叠问题

Win + Ait + P唤出设置界面,General-> Fonts-> monospce,去掉那勾勾即可。


修改命令提示符号λ

λ符号修改成$,在../cmder/vendor/clink.lua批处理文件中,修改其中第43行的将λ$

修改前 local lambda = "λ",修改后 local lambda = "$"