多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
Cmder = Cmd + PowerShell + Git for Windows + "bash" 官方文档: * Readme:[cmder/README.md at master · cmderdev/cmder](https://github.com/cmderdev/cmder/blob/master/README.md) * wiki:[Home · cmderdev/cmder Wiki](https://github.com/cmderdev/cmder/wiki) [TOC] ## 安装 在官网[Cmder](http://cmder.net/)下载cmder压缩包,解压即可。这里**注意**解压路径不能位于需要管理员访问权限的地方。 * 添加环境变量: 新建环境变量`%cmder_root%` 将其值设置为 `cmder.exe`所在路径,再将`%cmder_root%`添加到系统的`PATH`环境变量中。 * 将cmder添加到文件夹右键菜单: 以管理员权限打开 cmd ;切换到 cmder 的解压路径;执行 `.\cmder.exe /REGISTER ALL`,即可添加。 * 为cmder创建桌面快捷方式。 ## 中文配置 进入setting界面:点击Cmder窗口左上角的图标 或者 右下角的 `三`图标,然后选择 `setting` 选择 `Startup -> Environment` 在这里添加下面的语句: ~~~powershell set PATH=%ConEmuBaseDir%\Scripts;%PATH% set LANG=zh_CN.UTF-8 set LC_ALL=zh_CN.utf8 chcp utf-8 ~~~ ## 粘贴复制 复制:只需选中一段文字那么该段文字就会被复制到剪贴板 粘贴:直接`鼠标右键`即可粘贴,或者使用 `Ctrl + v` 进行粘贴. ## cmd模式和bash模式 注意区别两者。主要是有时会在cmd模式下输入bash相关的命令格式,导致相关错误。 比如:怎么切换不了路径? * 如果是用默认的`bash`, 可以直接 `cd /d/myworkstation` * 如果用的是`cmd`模式, 需要先输入 `d:`来切换到d盘 ## 锁定视窗 锁定视窗(点击右下角的🔒) ,可以让视窗无法再输入。 ## alias别名机制 **Cmder增加了alias功能:** 它让你用短短的指令执行一些常见但指令超长又难以记忆的语法。 在其控制台输入`alias`可以查看已有别名。 发现有分别应用于 cmd,bash,Power Shell的alias。 **1\. cmd aliases:** 在`%CMDER_ROOT%\config\user-aliases.cmd`中添加cmd aliases,它**仅用于 cmd 命令** 示例: ~~~ ls=ls --show-control-chars -F --color $* pwd=cd clear=cls ~~~ > `user-aliases.cmd`: aliases in cmd; called from vendor\\init.bat; autocreated from > `vendor\user-aliases.cmd.example`. > > 参考:[cmder/README.md at master · cmderdev/cmder](https://github.com/cmderdev/cmder/blob/master/README.md) **2\. Bash/Mintty aliases:** 对于bash,其配置文件的加载顺序是: ~~~ $CMDER_ROOT/config/profile.d/*.sh $CMDER_ROOT/config/user-profile.sh $HOME/.bashrc ~~~ 所以我们可以在上面的文件中添加 alias 即可。 几个示例: ~~~ alias l.='ls -d .* --color=tty' alias ll='ls -l --color=tty' alias ls='ls --color=tty' ~~~ 由于 Git for Windows 会自动创建 `$HOME/.bash_profile`,如果此时创建`$HOME/.bashrc`文件运行cmder时cmder会提示有冲突,此时可以创建一个`$HOME/.profile`(也行)并在该文件中添加别名。 > 原本是想添加`ssh-agent bash`相关的别名的,但是一旦执行此命令后启动了一个子shell,在此子shell里不可以使用别名。可参考下文的**ssh agent**部分。(这里属于ssh代理相关问题) **3.Power Shell aliases:** 直接使用`alias`命令添加或在下面的文件中添加: ~~~ '$ENV:CMDER_ROOT\config\profile.d\*.ps1' '$ENV:CMDER_ROOT\config\user-profile.ps1' ~~~ ## Cmder启动选项 ![](https://img.kancloud.cn/9c/d4/9cd4a911096b465eb606ea519089fa07_761x303.png) * 在Startup处设置cmder启动时需要执行的任务 默认选择的启动项应该是 `{cmd::Cmder}` 这个命名任务,我们可以更改成其它的命令任务或者直接切换到其它的启动项。 当选中某个命名任务时,下面的 "Selected task contents(选中的任务内容)"下会显示该任务执行的具体内容 > 这里`cmd::Cmder`前面的cmd标明它是cmd模式,我们可以看到还有 bash 和 PowerShell等模式 * 我们也可以在`startup -> tasks`处更改和添加 “ Specified named task” 下的命名任务。 ### 自定义启动目录 下面就来克隆现有的`{cmd::Cmder}`添加一个设置自定义的启动目录的任务(Task): ![](https://img.kancloud.cn/38/28/3828e472bafc083d76f80f522c7e28b0_763x510.png) 设置启动目录 ![](https://img.kancloud.cn/26/fa/26facf597904bb6b7b04fada730de795_761x508.png) * 任务参数:下面来看 “Task parameters”命令参数,阅读实例可知参数 `/icon`指定图标位置,`/dir` 指定启动目录,所以我们可以添加下面的参数:`/icon "%CMDER_ROOT%\icons\cmder.ico" /dir "C:\Users\Fan"` * 记得在 `startup` 的“ Specified named task” 处选择 `cmd::diy1` * 保存设置,退出,重新打开cmder查看效果 > 具体配置和使用可见:[cmder: Lovely console emulator package for Windows](https://github.com/cmderdev/cmder) 。 ## cmder连接Linux子系统(WSL) Windows Subsystem for Linux(简称WSL)。 ConEmu(包括基于 ConEmu 修改的 cmder) 等终端模拟器也已经适配了 WSL 环境。 连接方式: * 添加一个标签页时(点击右下角的 ➕),选择 `WSL --> bash` * 或直接将启动任务指定为 `{WSL::bash}` Windows系统的分区全部挂载于Linux子系统的 `/mnt` 目录 ~~~ $ ls /mnt c d e f g ~~~ 因此可以在**Linux子系统中**设置如下别名以便于切换: ~~~ # ~/.bashrc alias cdc='cd /mnt/c/' alias cdd='cd /mnt/d/' alias cde='cd /mnt/e/' ~~~ > WSL的安装见: [Install the Linux Subsystem on Windows 10 - Microsoft Docs](https://docs.microsoft.com/zh-cn/windows/wsl/install-win10) ## 参考文档 1. [[Cmder]](https://www.jianshu.com/p/552b7f0bb18c) 2. [[Cmder配置及美化指南]](https://zhuanlan.zhihu.com/p/71706782)