9bccd4498db5fac8c0778f166d77004d.png

前一阵子,微软发布的全新终端 Windows Terminal 引起了很多人的关注。最近微软将全新的预览版 Terminal 放在了 Microsoft Store 中,我第一时间就想要尝尝鲜。然而新的 Terminal 要求 Windows 10 1903 版本才能安装,而我电脑上装的是 Windows 10 LTSC (版本号1809),尝试了升级系统和离线安装都无果,加上很多吃了螃蟹的人表示现在只是一个半成品并不好用,我最终只得放弃。

眼见身边的小伙伴一个个都换了 MacBook,难道 Windows 就不能有好用的命令行了吗?不,Windows 党永不为奴!在这里就要安利一下我们今天的主角:Cmder 同学了。

Cmder 是我一直使用的终端软件,在我看来,它可以说是 Windows 平台上目前最好用的终端之一了,它具有如下优点:

  • 界面友好
  • 功能强大
  • 使用流畅且稳定
  • 自带 git-for-windows,可以使用常见的 Unix 命令,这样就不用敲记不住的 cmd 命令了

既然 Cmder 这么好,今天就给大家介绍一下它的安装及配置吧!

对了,如果非要给 Cmder 挑一点毛病出来的话,那就是:不 够 好 看 !所以安装之后我们还要来美化一下它~

安装

首先我们打开 Cmder 的官网,找到 Download。

f709c6137e4ccf8fb2f53ae5d06f1d5d.png

两个按钮,左边的灰色按钮是不带 git-for-windows 的,所以我们点击右面的蓝色按钮下载。

下载之后我们将 Cmder 解压到任意目录(请注意为了避免奇怪的 bug,目录要是纯英文不带特殊字符和空格的),我放到了 C:Applicationscmder 这个目录中。

c97f7a69f845bb3f754d573c3f7dc98b.png

这时候我们就可以打开目录双击 Cmder.exe 运行了。我们可以把 Cmder 添加到开始菜单或者固定在状态栏中来方便启动。

配置环境变量

为了后面的工作方便,我们配置一下环境变量,把 Cmder 的目录添加到 Path 里面去。这一部分参照的是 https://github.com/cmderdev/cmder/wiki/Setting-up-Environment-Variables。

设置CMDER_ROOT

Win + Pause / Break 快捷键,进入“系统”,点击左侧的高级系统设置

a56c3073741854bc35bd6b081c944d5f.png

然后点击环境变量,

fe7ec9f5f8a57e097835c692cf7f6b26.png

点击用户变量下面的新建变量名CMDER_ROOT变量值为 Cmder 刚才解压到的路径(我这里是C:Applicationscmder),

1968b72e7b8f5b93653bb8c2a158f209.png

点击确定就好了,可以看到已经添加成功了。

b4d61787f5b8d1a38a35b2dacbf89d90.png

设置ConEmuDir(可选)

用同样的办法,新建变量 ConEmuDir,设置为%CMDER_ROOT%vendorconemu-maximus5

添加到PATH(可选)

加下来需要设置把目录添加到 Path 中,Path 是系统中已经存在的环境变量,选中 Path 然后点击编辑,点击新建然后输入 %CMDER_ROOT%,然后一路确定,这样我们的环境变量就都设置好了。

69ef31c031c6fe23cc3273639b23859e.png

添加 cmder 到右键菜单

以管理员身份打开 windows 自带的命令提示符(或者打开 PowerShell 再输入 cmd)

定位到 Cmder.exe 所在文件夹

cd %CMDER_ROOT%

然后输入命令

Cmder.exe /REGISTER ALL

dec2ce75df8490977373e64d82f42537.png

之后在任意文件夹中右键,若发现 Cmder Here 选项即表示添加成功。

7e0d4b8bbcfe85c9501e42a3a136fba9.png

解决中文乱码

win + alt + p 键或点击默认右下角 settings 选项打开设置界面

找到 Startup 选项下的 Environment,追加这些命令

set PATH=%ConEmuBaseDir%Scripts;%PATH%
set LANG=zh_CN.UTF-8
set LC_ALL=zh_CN.utf8
chcp utf-8

配置高亮插件

安装字体文件

这里我们以 Fira Code 为例,下载字体文件然后安装:

https://github.com/tonsky/FiraCode/raw/master/distr/ttf/FiraCode-Regular.ttf

打开 CmderSettings,将 General->Fonts 中的 Main console font 设置成 Fira Code

修改字体的原因是为了正常显示插件中的某些符号,如果想使用其他字体并且正常显示符号,可以将 Main console font 设为自己想要的字体,勾选 Alternative font 并设置为 Fira Code,在下面的 Unicode ranges 中添加 E0A0; E0B0;

207e0c9d0f116f9b50342d51a586fac2.png
更多详情参见这儿

安装插件

下载 Cmder-powerline-prompt 项目中的所有 .lua 文件,放置在 %CMDER_ROOT%/config 目录中,然后重启 Cmder。

修改提示符符号

Cmder 中的提示符符号默认为 λ,可能会导致某些bug(不确定),现在修改为自定义的符号:

一共有三个文件需要修改

  • %CMDER_ROOT%vendorclink.lua 文件,line 51,λ 修改为 $:
-- local lambda = "λ"
local lambda = "$"
  • %CMDER_ROOT%vendorgit-for-windowsetcprofile.dgit-prompt.sh 文件,line 36,λ 修改为 $:
# PS1="$PS1"'λ '                 # prompt: always λ 
PS1="$PS1"'$ '
  • %CMDER_ROOT%configpowerline_core.lua,line 113,λ 修改为 $:
if not plc_prompt_lambSymbol then
 plc_prompt_lambSymbol = "$"
end

经过测试,安装高亮插件之后只需要修改第三项就好了,效果如图:

b10eca019c6e8b95c2849a64b4a70cb4.png

使用其他终端模拟器

Cmder 自带了 ConEmu 作为终端模拟器,但是总感觉界面不够简洁,也不够美观。

在 windows 平台上有很多其他的终端模拟器,比如 Hyper,Terminus 和 FluentTerminal,它们都能够兼容 Cmder 哦,可以用它们来代替 ConEmu。

Hyper

Hyper 是基于 xterm.js 和 Electron,相比于 ConEmu,它的界面很简洁。

在 Hyper 配置 Cmder 的步骤如下(参考链接):

  • 安装 Hyper
  • 打开 Hyper,按 Ctrl + , 打开 Perference 设置文件。(也可以找到该文件用 Notepad++ 之类的编辑器打开,我的路径在C:Users%Username%AppDataRoamingHyper.hyper.js
  • 将下面三项修改为对应的值:
shell: 'cmd.exe',
shellArgs: ['/k', 'title Cmder & %CMDER_ROOT%vendorinit.bat'],
env: { 'TERM':'cygwin' }, // required for git-for-windows
  • 在 plugins 中添加下面的三项:
plugins: [
 'hyperterm-monokai',
 'hyper-tab-icons',
 'hyper-statusline',
]

然后重启 Hyper 就设置好啦,效果见下:

053e45fa15c32327adb687804eac80a1.png

界面是不是非常简洁?但是用起来好像有两个小问题:一是对高亮插件的兼容性不太好,二是只能通过修改配置文件进行设置,不太友好。

Fluent Terminal

Fluent Terminal 是基于 xterm.js 的 UWP 应用,优点是 Windows UWP 风格的界面挺好看的,但是我打开后就无响应。。。换版本、重装、重置都没有解决问题,所以只能放弃,这里附一张网图。

5f9ae511319fe9b44476d2495411acbf.png

配置过程请参照 https://github.com/cmderdev/cmder/wiki/Seamless-FluentTerminal-Integration

Terminus

Terminus 是一个功能丰富、高度可定制、跨平台的终端模拟器。

在 Terminus 中 使用 Cmder 比较简单,只要配置了系统变量就可以自动识别 Cmder,而无需其他额外的配置。

效果如图:

6a946dead3e386c14ec39b256c2e74d4.png

总结一下,如果想要稳定性,建议使用 Cmder 自带的 ConEmu;如果追求美观简洁,可以选择 Terminus 作为终端模拟器。

参考

  • Cmder 终端配置
  • 官方定制文档
GitHub 加速计划 / term / terminal
94.53 K
8.17 K
下载
The new Windows Terminal and the original Windows console host, all in the same place!
最近提交(Master分支:2 个月前 )
06890671 `pathTranslationStyle` has four options: - `none`: Do no translation - `wsl`: Translate `C:\` to `/mnt/c` and `\\wsl$\Foo\bar` to `/bar` - `cygwin`: Translate `C:\` to `/cygdrive/c` - `msys2`: Translate `C:\` to `/c` It is intended as a broadly-supported replacement for us checking the source every time the user drops a path. We no longer need to push the source name all the way down to the control. I am hesitant to commit to using other folks' product names in our settings model, however, these are almost certainly more recognizable than whatever other weird names we could come up with. The Git Bash fragment extension profile could conceivably use `pathTranslationStyle` `msys2` to make sure drag/dropped paths look right. 1 天前
90866c7c The original intent with dynamic profiles was that they could be uninstalled but that Terminal would remember your settings in case they ever came back. After we implemented dynamic profile _deletion_, however, we accidentally made it so that saving your settings after a dynamic profile disappeared scoured it from the planet _forever_ (since we remembered that we generated it, but now it was no longer in the settings file). This pull request implements: - Tracking for orphaned dynamic profiles - A new settings page for the profile that explains what happened - Badging on the Navigation Menu indicating which profiles are orphaned and which are hidden Closes #14061 Closes #11510 Refs #13916 Refs #9997 2 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐