Cmder Shell 命令行工具 终端
目录
Shell Cmder bash 终端
Portable 便携的 console emulator for Windows.
下载的时候,会有两个版本,唯一的差别在于有没有内建git
工具。
介绍
Cmder is a software package on Windows. It is based on ConEmu with major config overhaul 重大配置改革, comes with a Monokai
color scheme 配色方案, amazing clink (further enhanced 进一步增强 by clink-completions) and a custom prompt layout 自定义提示布局.
主要特点
- 便携,没有外部依赖,可移植,解压即可用:The main advantage of Cmder is portability
- 良好的用户界面:丰富的颜色主题(Solarized、Twilight、Ubuntu、xterm、Monokai,可自定义)、可定制字体
- 自带
git
、ls
、curl
等命令 - 完全支持中文
- 可设置
命令别名
- 支持
tab分页
、同屏多端口(支持水平分割、垂直分割) - 支持自定terminal,无论是
CMD、PowerShell、bash
都可以,还可以注入环境变量
常用快捷键
如果想使用自定义的快捷键,只需将
\vendor\conemu-maximus5\ConEmu.xml
中的HotKeys
的部分覆盖即可。
基本功能
Ctrl + T
或双击底部栏
:新建页签Ctrl + W
或鼠标中键点击 Tab
:关闭页签,建议把Ctrl+W
的功能改为删除光标左侧的单词
Ctrl + num
或Ctrl + Tab
:切换页签Alt + enter
:切换全屏Ctrl + R
:历史命令搜索,仅部分 shell 中支持Win + Alt + P
:设置Alt + F4
:关闭所有页签Tab
:自动路径补全
输入操作
- 一个单词一个单词向左/右移动光标:
Ctrl + 左右箭头
- 一个字符一个字符向左/右移动光标:
左右箭头
- 移动光标到整条命令的起始/结束位置:
HOME 或 END
【重要】 - 删除光标左/右侧的所有内容:
Ctrl + U/K
【重要】 - 删除光标左侧的单词:
Ctrl + W
【重要】(默认功能为关闭页签,需要自定义) - 删除光标右侧的单词:
Alt + D
【重要】 - 删除光标左/右侧的字符:
backspace 或 DEL
终端设置
配置文件存放在安装目录下的\vendor\conemu-maximus5\ConEmu.xml
中,可拿现成的文件覆盖
如果只想使用自定义的快捷键,只需将
HotKeys
的部分覆盖即可。
常用设置
- 通用-界面语言:可以设置中文语言,建议禁用自动更新(因为网络太差了)
- 通用-字体:
- 字符集选择默认的
ANSI
- 不要勾选
Compress long string to fit space
,否则中文显示可能有问题
- 字符集选择默认的
- 通用-背景:可以设置背景图片,或者设置透明度
- 启动-启动选项:
- 选
指定命名任务
时,可以选择默认启动的终端类型,如bash、cmd、powershell - 建议勾选
自动保存/恢复打开的标签页
,不管关闭之前打开了几个 Tab,都能完全恢复
- 选
- 功能特性-颜色-方案:可以选择颜色方案,如果觉得不合适也支持自定义
添加到右键菜单
以管理员
身份打开 Cmder,运行以下命令,然后在文件夹上右键点击Cmder Here
,就能在 Cmder 里进入该目录。
cmder /register all //注册
cmder /unregister all //取消注册
config 目录介绍
/profile.d/
:用于存放在启动时执行的脚本文件clink_settings
:user_aliases.cmd
:仅用于定义cmd
的别名,不可以在启动时执行命令user_profile.cmd
:可用于定义cmd
的别名,也可以在启动时执行命令user_profile.ps1
:可用于定义PowerShell
的别名,也可以在启动时执行命令user_profile.sh
:可用于定义bash
的别名,也可以在启动时执行命令user-ConEmu.xml
:
echo %CMDER_ROOT% # 打印 Cmder 的路径【C:\_dev\_Tools\cmder\cmder1.3.18】
echo %ConEmuDir% # 打印 ConEmu 的路径【...\cmder1.3.18\vendor\conemu-maximus5】
echo %ConEmuBaseDir% # 打印 ConEmu 的路径【...\cmder1.3.18\vendor\conemu-maximus5\ConEmu】
命令行参数介绍
Argument | Description |
---|---|
/C [user_root_path] |
设置 Cmder 的根目录 |
/M |
ConEmu 存储设置 |
/SINGLE |
以单模式启动 Cmder |
/START [start_path] |
设置启动的初始路径 |
/TASK [task_name] |
设置启动的任务 |
/X [ConEmu extras params] |
将参数转发给 ConEmu |
/REGISTER [ALL, USER] |
注册右键快捷方式【常用】 |
/UNREGISTER [ALL, USER] |
取消注册右键快捷方式【常用】 |
集成到其他终端中
Cmder 可与 Windows Terminal
、Android Studio
、VS Code
、Cmd
、Bash
等 terminal/IDEs 集成,详见 wiki
集成到 Windows Terminal
- 首先需要定义 CMDER_ROOT 用户变量
- 打开 Windows Terminal 的设置文件
settings.json
,在profiles
中的list
中添加如下内容
{
"guid": "{00000000-0000-0000-ba54-000000000132}",
"name": "Cmder",
"commandline": "cmd.exe /k %cmder_root%/vendor/init.bat",
"icon": "%cmder_root%/icons/cmder.ico",
"hidden": false
},
- 可以通过修改
defaultProfile
(值可以是name,例如"Cmder"
),将 Cmder 作为 Windows Terminal 启动时的默认终端 - 可以通过修改
colorScheme
(值来自于"schemes": [...]
,例如"Monokai Cmder"
),将 Cmder 的配色方案改为 Monokai-Cmder - 可以通过修改
commandline
,将在 Windows Terminal 中启动 Cmder 时的默认终端改为 Powershell
集成到 Android Studio
- 在 Cmder 安装目录下新建一个
cmder_shell.bat
文件,内容如下:
@echo off
@cmd.exe /k %~dp0\vendor\init.bat
- 在 IDE 中按
Ctrl + Alt + S
打开设置页,并在搜索框中键入terminal
- 在
Shell path
中,将cmd.exe
更改为[cmder 安装目录]\cmder_shell.bat
自定义别名与自定义脚本
之所以能自定义别名,或者能在启动时执行自定义脚本,是因为在启动时都会首先执行脚本%CMDER_ROOT%/vendor/init.bat
,所以我们也可以通过修改init.bat
中的逻辑做很多高级自定义的事情。
可将自己的可执行文件放入安装目录下的
bin
文件夹中,bin
文件夹将在运行时注入到PATH
环境变量中。
cmd 别名
- 可以通过
alias name=command
定义并保存别名,例如alias user=echo %HOME%
- 定义的别名将保存在
%CMDER_ROOT%\config\user_aliases.cmd
文件中,也可以直接修改此文件 - 可以通过
$1-9
或$*
获取传递的参数,其中$1
表示第一个参数 - 可以通过
%NAME%
引用当前环境的或自定义的变量/常量
有关 Cmd.exe 复杂别名/宏的更多详细信息,请参阅 微软 DOSKEY 文档
在启动 cmd 时会自动执行
以下脚本文件:
%CMDER_ROOT%\config\user_profile.cmd
%CMDER_ROOT%\config\profile.d\*.cmd
%CMDER_ROOT%\config\profile.d\*.bat
- 注意:
%CMDER_ROOT%\config\user_aliases.cmd
只能用来定义别名
,而不能用来存放要执行的命令
bash 别名
- 可以通过
alias name=command
定义别名,例如alias user='echo $HOME'
,但仅在当前会话有效,而不会持久化 - 可以通过在
$CMDER_ROOT/config/user_profile.sh
中添加上述语句来持久化别名 - 可以通过
$NAME
或${NAME}
引用当前环境的或自定义的变量/常量
在启动 bash 时会自动执行
以下脚本文件(当然也可以将别名
定义在以下任一文件中):
$CMDER_ROOT/config/user_profile.sh
$CMDER_ROOT/config/profile.d/*.sh
$HOME/.bashrc
------ 注意,这个会影响所有的 bash 终端
PowerShell 别名
- 可以通过
[new-alias | set-alias] alias command
定义别名,例如new-alias e explorer
(只支持将命令简化,不支持参数) - 可以通过
Get-Alias
获取当前支持的别名,包含内置的别名,例如pwd -> Get-Location
- 可以通过
Get-Alias alias
获取别名alias
的定义,例如Get-Alias pwd
- 在 PowerShell 中引用 变量/常量 的方式是
$NAME
或$ENV:NAME
PowerShell 原生具有简单别名的支持,因此 PowerShell 会话中不支持带有可选参数的复杂别名。
在启动 PowerShell 时会自动执行
以下脚本文件(当然也可以将别名
定义在以下任一文件中):
$ENV:CMDER_ROOT\config\user_profile.ps1
$ENV:CMDER_ROOT\config\profile.d\*.ps1
2019-8-25
本文来自博客园,作者:白乾涛,转载请注明原文链接:https://www.cnblogs.com/baiqiantao/p/11408160.html