之前外出办公都是拿公司的 MacBook Pro,终端当时也好好装修了一番。
还回去之后,找出了我 2014 年购买的 Windows 笔记本,这终端用起来就不太舒服了。
正好假期在家没事做,也给咱 Windows 的终端装修一个!
Fluent Terminal 出于个人的需求,Windows 上会频繁使用 PowerShell 及 WSL,但是两者自带的终端都不是很方便动手。
于是我搜索了半天,终于找到了一个比较满意的终端 Fluent Terminal 。
其他的或因为启动速度慢,或因为实在是不好看,都被个人 Pass 了。
安装方法很简单,在管理员模式下的 PowerShell 使用 Chocolatey 包管理工具直接进行安装。
个人图省事,直接借用了 Node.js 安装过程把 Chocolatey 及 Python 直接包圆了。
1 choco install fluent-terminal
由于安装过程的需要,部分行为可能会被某些软件判定高危并拦截,所以在安装前记得关闭这些软件。
尽职的火绒,只能先关掉你了
执行完成后 Fluent Terminal 就安装完成了。
字体 「工欲善其事,必先利其器」。
为了满足后续的要求,还需要先安装字体。
该字体就是大名鼎鼎的 Nerd Fonts 了。
在这里找到 Hack Nerd Font ,下载后安装。
准备工作都做完了,接下来可以开始正式装修了。
正式装修 PowerShell 这次不打算对 PowerShell 动太大刀,毕竟目前也就跑点 Python 工具,使用程度不算重,oh-my-posh 之类的回头有时间再处理。
打开 Fluent Terminal,点开左上角菜单选择 设置
- 终端
,将 字体
项选为 Hack Nerd Font Mono
,字体大小看个人喜好。
再找到 配置文件
- Powershell
- 编辑
,将 主题
选为 PowerShell
,保存。
PowerShell 的装修就暂告一段落了。
WSL 这个用得多,重头戏自然在这。
个人用的是 Ubuntu 20.04 LTS,其他发行版大同小异。
配置 Zsh 首先安装 Zsh 及 Oh My Zsh 。
1 2 apt install zsh sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh) "
然后安装 Powerlevel10k 主题,这里使用 Oh My Zsh 的安装方法。
1 git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom} /themes/powerlevel10k
将 ZSH_THEME
修改为 "powerlevel10k/powerlevel10k"
,并在下面另起一行粘贴以下内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 POWERLEVEL9K_MODE='nerdfont-complete' #POWERLEVEL9K_SHORTEN_DIR_LENGTH=1 #POWERLEVEL9K_SHORTEN_DELIMITER="" #POWERLEVEL9K_SHORTEN_STRATEGY="truncate_from_right" POWERLEVEL9K_PROMPT_ON_NEWLINE=true POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='' POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='' POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR='' POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR='' POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX="%F{blue}\u256D\u2500%F{white}" POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX="%F{blue}\u2570\uf460%F{white} " POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(root_indicator dir dir_writable_joined) POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(command_execution_time vcs background_jobs_joined time_joined) POWERLEVEL9K_VCS_MODIFIED_BACKGROUND="clear" POWERLEVEL9K_VCS_UNTRACKED_BACKGROUND="clear" POWERLEVEL9K_VCS_MODIFIED_FOREGROUND="yellow" POWERLEVEL9K_VCS_UNTRACKED_FOREGROUND="yellow" POWERLEVEL9K_DIR_HOME_BACKGROUND="clear" POWERLEVEL9K_DIR_HOME_FOREGROUND="blue" POWERLEVEL9K_DIR_HOME_SUBFOLDER_BACKGROUND="clear" POWERLEVEL9K_DIR_HOME_SUBFOLDER_FOREGROUND="blue" POWERLEVEL9K_DIR_WRITABLE_FORBIDDEN_BACKGROUND="clear" POWERLEVEL9K_DIR_WRITABLE_FORBIDDEN_FOREGROUND="red" POWERLEVEL9K_DIR_DEFAULT_BACKGROUND="clear" POWERLEVEL9K_DIR_DEFAULT_FOREGROUND="blue" POWERLEVEL9K_ROOT_INDICATOR_BACKGROUND="clear" POWERLEVEL9K_ROOT_INDICATOR_FOREGROUND="blue" POWERLEVEL9K_STATUS_OK_BACKGROUND="clear" POWERLEVEL9K_STATUS_OK_FOREGROUND="green" POWERLEVEL9K_STATUS_ERROR_BACKGROUND="clear" POWERLEVEL9K_STATUS_ERROR_FOREGROUND="red" POWERLEVEL9K_TIME_BACKGROUND="clear" POWERLEVEL9K_TIME_FOREGROUND="cyan" POWERLEVEL9K_COMMAND_EXECUTION_TIME_BACKGROUND='clear' POWERLEVEL9K_COMMAND_EXECUTION_TIME_FOREGROUND='magenta' POWERLEVEL9K_BACKGROUND_JOBS_BACKGROUND='clear' POWERLEVEL9K_BACKGROUND_JOBS_FOREGROUND='green'
之后保存退出。
该主题是在 Show Off Your Config 找到的一款方案,详情点 这里 ,个人稍加修改了一下。
终端配色个人钟爱 OneHalfDark ,Fluent Terminal 可以直接使用 iterm 的配色文件,下载保存 OneHalfLight.itermcolors ,打开 设置
- 主题
- 导入
,选择下载的文件,导入保存。
在主题列表中选中 OneHalfDark
,选择 应用
,也可以在 配置文件
- WSL
- 编辑
中,将主题选为 OneHalfDark
。
目前看起来就是这个样子了:
干掉绿油油 经常用 WSL 都知道,在 WSL 用 ls
查看硬盘上的文件时,总会绿油油的一片,这究竟是为什么呢?
太瞎眼了
这边有一篇 Blog 讲到 DrvFs 文件权限问题 ,解释了为何会出现这样的问题。
那么如何解决呢?
如果不用那篇 Blog 中提到的解决方案,还可以直接修改 rc 文件来解决,方法来自 这里 。
1 2 3 cd dircolors -p > .dircolors vim .dircolors
修改如图所示的内容,将背景色改为文字颜色,再加上下划线区别。
然后最后再让其生效。
1 2 3 4 5 6 7 8 9 10 # enable color support of ls and also add handy aliasesif [ -x /usr/bin/dircolors ]; then test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)" alias ls ='ls --color=auto' #alias dir='dir --color=auto' #alias vdir='vdir --color=auto' alias grep ='grep --color=auto' alias fgrep='fgrep --color=auto' alias egrep='egrep --color=auto' fi
现在看起来就好多了。
Windows Terminal 其实 Windows Terminal 也不错,在折腾完 Fluent Terminal 后,只需要少量的设置就能够使用了,可以拿来作为备选方案。
字体 Windows Terminal 可以为不同的 Shell 设置不同的字体,那么对于经常用在中文环境的 PowerShell 来说,我更喜欢 更纱黑体 一些,下载后安装即可。
配置 Windows Terminal 的配置完全靠修改 json 文件实现,但是这样有了更大的自由度。
首先找到 PowerShell 那段,比如:
1 2 3 4 5 6 7 { "guid" : "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}" , "name" : "Windows PowerShell" , "commandline" : "powershell.exe" , "hidden" : false }
稍微修改后就变成这样:
1 2 3 4 5 6 7 8 9 10 11 { "guid" : "{61c54bbd-c2c6-5271-96e7-009a87ff44bf}" , "name" : "Windows PowerShell" , "commandline" : "powershell.exe" , "fontFace" : "Sarasa Mono SC" , "fontSize" : 12 , "background" : "#123456" , "colorScheme" : "One Half Dark" , "hidden" : false }
这里试了试 #123456
颜色比 Fluent Terminal 里 PowerShell
主题的 #012456
要更舒服,于是回过头把 Fluent Terminal 里也改了(Copy 一份后再修改)。
WSL 部分也修改了一下:
1 2 3 4 5 6 7 8 9 { "guid" : "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}" , "hidden" : false , "name" : "WSL" , "source" : "Windows.Terminal.Wsl" , "fontFace" : "Hack Nerd Font Mono" , "fontSize" : 14 , "colorScheme" : "One Half Dark" }
顺便把 Azure Cloud Shell 给隐藏了:
1 2 3 4 5 6 7 { "guid" : "{b453ae62-4e3d-5e58-b989-0a998ec441b8}" , "hidden" : false , "name" : "Azure Cloud Shell" , "source" : "Windows.Terminal.Azure" , "hidden" : true }
找到 defaultProfile
这项,将其中的值改为需要的 Shell 的 guid,这里选择了 WSL:
1 2 3 { "defaultProfile" : "{07b52e3e-de2c-5db4-bd2d-ba144ed6c273}" }
再找到 keybindings
这项,加个 Ctrl+W
关闭标签的快捷键:
1 2 3 4 5 6 7 8 { "keybindings" : [ …… { "command" : "closeTab" ,"keys" : "ctrl+w" }, …… ] }
最后的效果也还是不错的嘛。
写在最后 现在 Windows 上使用终端的体验是越来越好了,个人对于虚拟机、双系统的依赖也是越来越低了。
希望微软自家的 Windows Terminal 能够再接再厉,我可是相当看好哟!