Cmder使用说明

  • A+
所属分类:开发者工具

Cmder是一款Windows环境下非常简洁美观易用的cmd替代者,它支持了大部分的Linux命令。从官网下载下来一个zip安装包,解压之后运行根目录的Cmder.exe即可。但是此时会有两个问题,一是ls命令不支持中文,二就是中文提示会有字体重叠现象。

1、v1.3.0版本解决中文乱码问题

win+alt+p打开设置面板,找到Startup-Envrioment选项

在下面的文本框里添加一行 set LANG=zh_CN.UTF-8

然后重启cmder

然后用ls命令查看目录下的文件,带中文的文件名都能正常显示了。

但是带中文的路径还是乱的,可以在Startup把默认启动模式(Specified named task)切换为Powershell就正常了。

2、解决文字重叠问题

Win + Alt + P 唤出设置界面 > mian > font > monospce 的勾勾去掉(点两下).

新版已经修复

3、配置其在win+r中打开

把根目录加到系统环境的path变量中即可。

4、添加右键

可以关注这个gist。在Cmder根目录新建一个init.bat,输入以下代码:

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

第二种添加cmder到右键菜单的方式

首先打开具有管理员权限的终端,快捷键Ctrl + t 勾选Run as current user和 Run as administrator这两项,然后点start开启,然后在命令行输入

现在在文件夹上右键点击Cmder here 就能在cmder里进入该目录。

5、alias设置

在 Cmder 的 config 文件夹中有一个叫 aliases 的文件它是专门设置 alias 的。当然它不同于 alias 那么死板, 其中有一个参数 $* 它等同于命令参数的其他部分。 example1: ls --color $* 在执行 ls 的时候就等于在他前面添加了 --color. example2: 假设你有一个vps,你可以设置一个快速链接你vps的命令,在config/aliases文件末尾加这个一行即可:

alias可以让你就像在Linux底下那样设定许多常指令的别名( Alias ),让你用短短的指令执行一些常见但指令超长又难以记忆的语法。

输入alias命令就可以查看当前的alias配置列表

Cmder使用说明

像我常会需要在命令提示字元下开启档案总管并且自动浏览到当前目录,以往我都会打start .开启目录,我就自己建立了一个e.别名命令,以后只要打e.就可以开启档案总管,超棒的啊!^_^Cmder使用说明

可以配置git命令简写,在config/user-aliases.cmd文件里添加:

g.=git add .

gc=git commit

gpo=git push origin master

gp=git pull

........

改完aliases文件后需要重启Cmder才能生效

在Powershell模式下的alias需要另外设置。

 

6、添加快捷键

右键 cmder.exe > 创建快捷方式 > 右键快捷方式 > 点击快捷键项 > 按 Ctrl + Alt + T. 以后按 Ctrl + Alt + T 的时候就会运行 Cmder 了.

7、Chocolatey软件包管理系统

安装chocolatey:

安装完之后,想使用再想安装ruby,只需在cmder里执行:


2016.01.17新增:

8、使用Ctrl+Z或使用上下箭头翻历史命令时出现残留文字删不掉的情况

  • 按下 Ctrl+L 或输入 cls 命令清空就可以解決
  • 把默认的命令提示符λ改成$美元符号,编辑安装目录下的 vendor\init.bat 文件,把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  。 即把{lamb}改成$$

9、查看修改快捷键

win+alt+p快速打开cmder的设置界面,切换到Keys & Macro选项,就能查看当前当前的快捷键配置并修改。

常用快捷键:

  1. 可以利用 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 + 2 : 快速切换到第 2 个标签页
    Ctrl+n     : 快速切换到第 n 个标签页 ( n 值无上限 )
    Alt+Enter将视窗设为全屏,再按一次Alt+Enter就会复原回原本的视窗大小
    ESC :清除目前输入的整行
    Ctrl+Alt+U:回上一层(等于帮你输入了cd ..命令,超方便的)
    Alt+H :显示所有快速键清单
    start .  或者e. 打开当前路径所在的文件夹
  2. 可在视窗内搜寻画面上出现过的任意关键字。
  3. 新增页签按钮,可透过滑鼠新增页签。
  4. 切换页签按钮,可透过滑鼠切换页签。
  5. 锁定视窗,让视窗无法再输入。
  6. 切换视窗是否提供卷轴功能,启动时可查询之前显示过的内容。
  7. 按下滑鼠左键可开启系统选单,滑鼠右键可开启工具选项视窗。 Win+Alt+P  :开启工具选项视窗
  8. 超赞的Tab自动补全路径和命令

 

10、Clink 可以直接跟原生的Cmd.exe 搭配使用

  • 执行vendor\clink\clink.bat即可启用Clink功能。
  • 以系统管理员身分执行vendor\clink\clink.bat autorun -i可将Clink自动注入到Cmd.exe之中。
  • 如要移除Clink绑定,可执行vendor\clink\clink.bat autorun -u即可。

 11.实现执行 st xxx 命令就调用sublime打开xxx文件

修改Cmder目录下vendor\profile.ps1文件,在末尾添加 Set-Alias st "C:\Program Files\Sublime Text 3\sublime_text.exe" 

重启cmder,然后在Powershell模式下输入命令st xxx 就可以用sublime打开指定的文件。

也可以添加自定义函数,然后给函数设置一个alias ,就像下面这样:

实际上这是在Powershell模式下设置alias的方式,vendor\profile.ps1这里配置的alias在Cmder模式也不能用,cmder模式下的alias参考上面的第五点。

最后来说一说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 环境下使用的感觉。

 

20160809更新:

完美解决一切中文乱码情况:

修改vendor/clink.lua文件

把20行set_prompt_filter这个函数这一段替换成

感谢@janschulz 大神


20160927更新

1)、新版v1.3.1已经解决中文乱码问题,但ls显示文件列表还是不能正常显示中文,可以按照上面第一点说明设置即可。

2)、设置打开cmder时默认进入的目录

win+alt+p打开设置,选择Startup-Task,修改{cmd::Cmder}项,把*cmd /k "%ConEmuDir%\..\init.bat"  -new_console:d:%USERPROFILE%修改成cmd /k "%ConEmuDir%\..\init.bat"  -new_console:d:F:\gitproject

这里的F:\gitproject可以根据你自己需要自定义。重启cmder之后就可以看到cmder已经进入了刚刚设置的F:\gitproject 目录,而不是之前的默认用户目录。

同样也可以修改打开cmder的时候进入的操作模式(cmder、PowerShell、bash 等等)。

再推荐另外一款超赞的神器 babun


20170908更新

在win10下如果alias快捷键不起作用,可以在cmd命令提示符的属性里面把“使用旧版控制台勾上”。

weinxin
我的微信公众号
我的微信公众号扫一扫

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:1   其中:访客  1   博主  0

    • avatar ehlxr 0

      受教了,谢谢