强大的Cmder
why
- 漂亮,包装并美化了各个shell
- 带task功能,能记忆,能执行脚本
- 配合win10的bash,能实现类似xshell的功能
注意点
需要注意的一点,Cmder来源于另外一个项目ConEmu,因此很多的设置介绍都在这个项目下面。比如说task设置的语法
Task设置介绍
简介
在settings->Startup下面。添加一个task后,可以设置名称,名称按group分类。
比如我设置两个任务,bash::pi,bash::test。
在显示task时,这两个会放在一个task group里面(名字为bash),这个group里面有两个任务,一个叫pi,一个叫test。
Task parameters
这里一般就是设置icon
- /icon 可以设置icon
- /dir 设置启动目录
Commands
- 第一个参数为要启动的app,后面为要带的参数,比如
PowerShell -ExecutionPolicy Bypass -NoLogo -NoProfile -NoExit -Command "Invoke-Expression '. ''%ConEmuDir%\..\profile.ps1'''" -new_console:d:"%USERPROFILE%"
app为powershell,参数为-ExecutionPolicy Bypass -NoLogo -NoProfile -NoExit -Command "Invoke-Expression '. ''%ConEmuDir%\..\profile.ps1'''"
-new_console - cur_console
为cmder的指令(实际是ConEmu的),用来指定窗口的特征。可以指定目录,layout,
等等详细参考ConEmu的介绍。
-new_console[:switches]
or
-cur_console[:switches]
a - RunAs shell verb (as Admin on Vista+, user/pwd in Win2k and WinXP)
b - create background tab
c[0] - force enable [silent] ‘Press Enter or Esc to close console’
C:"<iconfile>" - specify icon used in tab
d:"<dir>" - specify working directory
f - force starting console active, useful when starting several consoles simultaneously
h<height> - i.e., h0 - turn buffer off, h9999 - switch to 9999 lines
i - don't inject ConEmuHk into starting process
I - (GuiMacro only) forces inheriting of root process contents, like ‘Duplicate root’ feature
m:/mnt - defines ‘/mnt’ prefix for Unix-path conversion
n - disable ‘Press Enter or Esc to close console’
o - don't enable ‘Long console output’ when starting command from Far Manager
p[N] - pty modes, N - bitmask: 1 - XTermKeys, 2 - BrPaste, 4 - AppCursorKeys; default is 5 (1+4)
P:"<palettename>" - set fixed palette for tab
r - run as restricted user
R - force start hooks server in the parent process
s[<SplitTab>T][<Percents>](H|V) - run new console in a split
t:"<tabname>" - rename new created tab
u - ConEmu choose user dialog
u:"<user>:<pwd>" - specify user/pwd in args
w - Enable ‘Overwrite’ mode in command prompt by default
W:"<tabwallpaper>" - use specified wallpaper for the tab
z - Don't use ‘Default terminal‘ feature for this command
最常用的就是生成新窗口,比如
在当前窗口下面生成一个新的cmd窗口
cmd -new_console:sV
在当前窗口右边生成一个新的cmd窗口
cmd -new_console:sH
如何设置bash启动ssh
使用xshell时,最方便的是记忆ssh地址,一键ssh。这里使用cmder加bash完成。
基本设置
bash -new_console:i /mnt/e/pi/pi.sh
这条指令之后,即可执行pi.sh,这个sh里面只是简单的配置ssh。
指定layout
bash -new_console:sVi /mnt/e/pi/pi.sh
指定工作目录(无用)
bash -new_console:sVi:d /mnt/e/pi/pi.sh E:/pi
目前上述方法还有bug。如果采用上述方式ssh,会导致cmder无法记忆之前的命令,也就无法用上下方向键翻历史记录。
替代方案
bash -new_console:sHh999d:E:\pi
- sH : 指定新窗口在右边
- h999 : buffer大小999,即可以记忆这么多条指令
- d:E:\pi : 指定工作目录在E:\pi下面。这里需要注意d:E:\pi是连着的,不能有空格
这样就是开启了bash,并设置工作目录到想要的目录下面,然后ssh的话直接调用脚本即可。