美文网首页生产力
调教你的WSL终端

调教你的WSL终端

作者: GiyyaPan | 来源:发表于2018-07-24 01:53 被阅读799次

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

相关文章

网友评论

本文标题:调教你的WSL终端

本文链接:https://www.haomeiwen.com/subject/kxbhmftx.html