调教你的WSL终端

WSL 是 Windows Subsystem for Linux 的简称

Win10很久以前就推出了WSL功能,我也一早就安装了,但是由于实际上并没有使用它来工作,因此也就是简单的体验一下。由于最近我有在家里工作的需求,摆两台电脑又很麻烦,所以干脆就试着深入使用一下WSL,看看它到底能不能用 ^ ^。

PS:想要让Win10满足工作需求,我实际上不只做了调教终端这一个事情,但是在这篇文章中我们只说这个一个事情
PS2:这边文章中介绍的很多东西其实是Linux的内容。如果你想调教你的Linux终端,除了和windows图形界面操作有关的部分之外,其他的都一样

安装WSL

打开Win10应用商店,搜索Ubuntu,进行安装。安装成功后,在开始菜单中输入Ubuntu即可启动linux终端。


从开始菜单启动Ubuntu

PS:安装部分不是我们的重点,我们假设你的安装没有问题

刚装上以后的终端大概是这个样子的:


使用bash的wsl

zsh 和 oh-my-zsh

zsh是一个用来替换默认的bash的终端程序,用了zsh后,我们就可以通过配置和安装插件享受到一个更加美观和强大的终端。

然而,直接配置zsh比较繁琐,因此我们要使用oh-my-zsh来辅助配置

官方介绍:

Oh My Zsh is an open source, community-driven framework for managing your zsh configuration.

简言之,就是一个帮助你管理zsh的配置和插件的工具。

可以使用这个命令来安装zsh和oh-my-zsh

sudo apt install zsh
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

安装成功后,我们就可以对zsh进行配置了。

颜色,主题和字体

zsh颜色主题和终端颜色主题 (Color Theme)

要让我们的终端变得更加漂亮,要配置两个部分:zsh主题(zsh theme)和终端的颜色主题(Color Theme)

由于使用了oh-my-zsh,修改zsh的主题很容易,只要编辑~/.zshrc文件,找到ZSH_THEME一行,改为agnoster即可

zsh theme

但是Windows默认终端的Color Theme改起来比较费劲,需要使用一个叫做colortool的工具。他是微软自带的一个修改终端配色方案的工具
首先在这里 下载:


下载colortool.zip并解压后,进入文件夹,按住shift并点击右键选择在此处打开Powershell窗口
shift+右键点击空白处

在其中输入

.\colortool.exe -d solarized_dark

回车后,关闭这个新打开的Powershell窗口,回到之前的WSL窗口,输入如下命令以使zsh配置生效:

source ~/.zshrc

现在,你的zsh应该便漂亮了!


现在的zsh

PS1: 更多关于colortool的资料可以看这里: https://blogs.msdn.microsoft.com/commandline/2017/08/11/introducing-the-windows-console-colortool/
PS2: 如果你对这个配色不满意,可以在这里找到更多选择:https://github.com/robbyrussell/oh-my-zsh#themes

安装 FiraCode

看上面的图可能你会注意到,虽然看起来颜色比较好看了,但是貌似有一些地方有很大的空白(比如master字样的左端),感觉怪怪的?
其实这是有一些特殊字符没有显示出来导致的,这些字体在默认的windows中没有。因此我们需要安装一个叫做FiraCode的字体

点击这里下载:https://raw.githubusercontent.com/tonsky/FiraCode/master/distr/ttf/FiraCode-Retina.ttf
下载后,打开它,点击左上角的安装按钮

安装后,对着终端窗口顶部菜单栏点击设置,在终端设置里面找到字体选项,并应用这个新字体



点击确定后,你的终端就可以使用完全体的主题了!


完整的agnoster! cheers!

配置插件

使用zsh的另一个好处是可以安装插件来增强终端的功能,而oh-my-zsh让这个过程变得更加容易。

oh-my-zsh的插件都是配置在~/.zshrc文件中的plugins选项里。在括号中填写插件名称,并用空格隔开即可

这一行

插件推荐

z

oh-my-zsh自带插件,开启即可
快捷访问常用目录的插件,可以让你非常方便的访问经常要使用的目录
比如我经常使用 cd ~/workspace/mpa-web,安装后可以z m[tab][return]来快速访问
PS: 刚装上后需要输入几次正常的 cd 命令之后他才能搜集到足够的信息整理出常用路径

d

oh-my-zsh自带插件,开启即可
使用命令d列出历史纪录中10个最近的目录,输入数字可以直接跳转
在跳来跳去配置环境时很有用,因为你往往不记得刚才的配置文件在哪个路径里面

通过d命令列出最近目录后用数字跳转

colored-man-pages

oh-my-zsh自带插件,开启即可
给man命令中的文档加上一些语法高亮。man命令可以用来查看其他命令的文档,比如man git就会展示git命令的介绍。使用这个插件之后可以让这个文档可读性稍微好一点点

加了语法高亮的“man git”

syntax-highlighting & zsh-autosuggestions

插件repo
https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/INSTALL.md#oh-my-zsh
https://github.com/zsh-users/zsh-autosuggestions/blob/master/INSTALL.md

这两个插件可以让你在终端输入命令时有语法高亮和自动补全。虽然放在了最后,但是这两个插件才是zsh真正的killer plugin :p

使用同样很简单,先通过如下命令安装:

cd ~/
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

然后和上面一样,在 .zshrc 加上插件名即可。

上面所有插件都打开的话,~/.zshrc中应该这样写:

plugins=(z d colored-man-pages zsh-autosuggestions zsh-syntax-highlighting)

最后看一下效果

自动补全了后面的路径

错误的命令会显示成红色

可是终端还是不如linux的好用?

尽管经过了这么多配置,我们的终端还是运行在windows自带的终端模拟器中,功能比较弱。对比Linux下的Guake等终端模拟器,缺少了诸如tab和全局唤起之类的功能。

所幸的是,Windows其实是有不错的方案的,你如果想进一步优化你的终端,可以试试 Cmder,他提供了tab和类似guake的全局快速唤出功能,能够配置的选项也很多,同时也可以解决默认终端打开了其他程序(比如man nanoless)后就会变成默认字体的问题。

如果你们有兴趣请留言告诉我,我会在这里继续更新关于Cmder的配置。

扩展阅读

https://medium.com/@jrcharney/bash-on-ubuntu-on-windows-the-almost-complete-set-up-1dd3cb89b794

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容