本文仅作为技术讨论及分享,严禁用于任何非法用途。
前言
作为一个有追求的Hacker&Geeker,打造一个趁手的终端是必不可少的,本文将分享一下本人多年使用下来的最优方案。
本文涉及以下内容:
- Cmder配置
- WinderTerm + Cmder
- Windows Terminal + Cmder
- alias 常用命令快速执行
- 环境变量
Cmder配置
Cmder
给我们提供了一个不错的环境,带有常见的Linux命令如curl
、grep
、sort
、uniq
等命令,使用起来比原生cmd舒服的多,所以选用Cmder
作为基础的命令行环境。
安装及初始化
自行到官网下载最新版本Cmder,建议下载完整版,Mini版啥都没,用起来不舒服。
https://Cmder.app/
运行后会自动初始化。
然后检查下系统环境变量,有无Cmder_ROOT
、ConEmuDir
两个环境变量,如果没有,就手动添加下。
CMDER_ROOT
设置为Cmder解压后的命令,即Cmder.exe
所在目录。ConEmuDir
在是Cmder目录下的vendor\conemu-maximus5
,参考上方截图。
修改烦人的默认符号 “λ”
默认命令行提示符号 “λ”,在某些情况下会导致显示异常,所以换掉,比如下面,ping
显示成pping
:
打开vendor\clink.lua
文件,搜索local lambda =
修改后:
配置Alias
如果经常用Linux应该知道,我们可以把一些常用命令设置成别名,比如:alias ll="ls -lah"
通过别名,我们可以设置一些自定义命令,实现快捷操作或者多版本Python运行等。
我们可以在config\user_aliases.cmd
文件添加自己的别名,参考如下:
1 | myip=curl 4.ipw.cn && echo= && curl 6.ipw.cn |
然后打开一个新的Cmder标签就能使用我们定义的别名了:
兼容第三方终端
既然Cmder配置后还不错,为什么还要用第三方客户端呢?
我的看法是:Cmder性能差,比如多行文本粘贴上去,会卡;界面不够现代化。
既然我们知道Cmder有些毛病,但是有想用它的环境,比如Linux命令、Git、Alias等,可以想办法把它放到你系统的终端中启动。
从下面截图我们知道,Cmder是通过下面的命令进行初始化启动的,我们先记下它的命令行。
1 | cmd /k ""%ConEmuDir%\..\init.bat" " |
我们打开自己喜欢的终端工具,比如Windows Terminal
,打开一个CMD窗口粘贴上面的命令测试一下,如果没有报错成功运行,可以看到我们已经进入Cmder
的环境了,刚才设置的Alias
也生效了。如果报错的话,请检查一下你的系统环境变量设置。
Windows Terminal + Cmder
通过上面的方法我们知道可以使用第三方终端运行Cmder
环境,下面来实践在Windows Terminal
上面配置Cmder
,只需要在设置中新建一个配置文件,照图片中配置即可:
注意:这种方法不能同步在Cmder
上面设置的环境变量,即下面这种:
建议启用自动复制内容到剪切板:
其它如主题、背景图等等可以自己去设置一一设置。
WinderTerm + Cmder
下载运行WinderTerm
后,新建会话:
会话->Shell选择cmd
:
在Shell->进程->参数填写:
1 | /k ""%ConEmuDir%\..\init.bat" " |
在工作目录填写:
1 | %CMDER_ROOT% |
环境变量可根据自己需求填写,效果跟系统的环境变量一样,只不过作用域只在WinderTerm
的Cmder
窗口,通过它我们可以配置轻松NodeJs
、Java
等环境变量。
效果如下:
最后,建议在会话->首选项->文本中开启自动复制文本,省得总是右键复制。
WinderTerm + iPython
这个跟Cmder
一样原理,找到ipython.exe
的路径,然后配置过去即可,这样平时调调代码就很方便。
WinderTerm + Linux GUI
WinderTerm
除了作为本地终端,SSH
的支持也是我常用的功能。同时,可通过打开X Server
功能,在Windows
上打开通过SSH
连接的Linux GUI
程序。
在会话->首选项->X Server打开下图的设置:
效果如下:
不过需要注意的是,如果SSH
中断,GUI
程序也会自动关闭。