原问地址:https://zhuanlan.zhihu.com/p/34152045

最近从MacBook换到了种草已久的Surface Book 2,而我的工作环境也自然要从macOS换到Windows10了。作为使用Mac系统多年做开发的程序员,使用Windows最大的问题之一就是终端。不能说Windows10的CMD和PowerShell太差,只是做开发真的需要支持Linux Bash、高效、并且美观的终端啊。比如macOS下的iTerm终端神器,真让人怀念啊。

为什么不继续用macOS?因为经过多方面比较后,我觉得Surface Book 2是目前为止最值得体验的笔记本。选择了它,就只能选Windows10了。不多说了,进入正题吧。我对Windows10下的终端期待的是:

  1. 支持Linux Bash,最好支持GNU工具链,能安装和执行Linux二进制可执行程序。嗯,只能是Linux了。
  2. 高效。能用Linux Bash就高效很多,其他辅助例如支持复制粘贴、多tab切换、和Windows文件系统交互。
  3. 美观。如果一个产品很丑(CMD?),真的不想碰啊!

经过研究,我决定使用Ubuntu子系统(Linux)、oh-my-zshcmder结合的解决方案。

安装Ubuntu子系统

参考我之前写的一篇文章:

Raysmond:Windows10开启Ubuntu子系统简易步骤​zhuanlan.zhihu.com

安装和配置oh-my-zsh

安装oh-my-zsh首先需要安装zsh。zsh(Z Shell)是一个功能强大的交互式shell脚本命令解释器。它不仅支持bash,还提供一些强大和g高效的功能,例如更好的自动补全和纠错。

$ sudo apt-get install zsh
$ zsh --version
zsh 5.1.1 (x86_64-ubuntu-linux-gnu)

安装oh-my-zsh可以通过curl或者wget方式:

使用curl

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

或者wget

sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

在.bash_profile中启用zsh,编辑文件,在末尾添加:

exec zsh
source .zshrc

安装cmder和配置

cmder是一个Windows上的一个终端模拟器,基于ConEmu,又加上了clink和Monokai的配色主题。cmder是一个非常美观的终端。直接下载解压到本地就可以运行了。

cmder中可以运行Windows的CMD和PowerShell,也可以运行一些模拟的Linux Bash和程序。我们需要在cmder运行Ubuntu子系统的zsh。配置也很简单,打开设置,在Tasks中添加一个{bash::ubuntu}的task。

配置完后,在右下角的图标中可以运行这个task。

更多阅读:

  1. Windows10开启Ubuntu子系统简易步骤
  2. 【如何评价微软 Surface Book 2?】Surface Book 2 15寸购买对比过程和使用初体验

Raysmond | 2018-03-01
http://raysmond.com

Windows10终端优化方案:Ubuntu子系统+cmder+oh-my-zsh的更多相关文章

  1. Windows10内嵌Ubuntu子系统配置python开发环境

    Windows10内嵌Ubuntu子系统配置python开发环境 安装pycharm. 到intellij idea网站下载Linux环境下载免费的pycharm,通过ubuntu子系统内部的/mnt ...

  2. Windows10访问Ubuntu子系统(WSL)的桌面环境

    原文地址:https://blog.csdn.net/xmh19936688/article/details/90212960 Windows10访问Ubuntu子系统(WSL)的桌面环境文章目录Wi ...

  3. Windows10的Ubuntu子系统开启桌面环境

    原文:Windows10的Ubuntu子系统开启桌面环境 Ubuntu 优势之一就是桌面环境比较好,所以咱们的子系统当然也不能少了这一环节,本小结开始安装Ubuntu 桌面系统. 安装环境 使用下面指 ...

  4. Windows10内置ubuntu子系统安装后中文环境设置

    原文:Windows10内置ubuntu子系统安装后中文环境设置 第一开启相关设置,使用小娜(Win键+c)直接查找关键字打开更快.   ①设置→查找"针对开发人员"→开发人员模式 ...

  5. 系统 (一) Windows10安装Ubuntu子系统

    前言 本文将基于 Windows10专业版 安装 Ubuntu子系统 1.控制面板 -> 程序 -> 选择启用或关闭Windows功能 -> 勾上 适用Linux的Windwos子系 ...

  6. Windows10开启Ubuntu子系统并搭建Docker环境

    前言 很早就听说微软有个基于Ubuntu的子系统,一直也没机会尝试一下,之前也只是用VMware安装,但是还要单独安装软件,安装镜像,一点都不fit,所以就瞎折腾下(也是因为最近有空). 搭建Ubun ...

  7. Windows10 ubuntu子系统的启用即基础配置

    Windows 10 在一周年更新后,本身集成一个不带有图形界面的ubuntu 14.04系统了,大大方便了Linux开发,并且本身使用很方便,像我这种Windows死忠,只会在Linux下跑一下一定 ...

  8. windows10安装配置WSL(Ubuntu)

    windows10安装配置WSL(Ubuntu) 怎么在windows系统上用上Linux?有这么几种方法: 1. 安装双系统.这种方法的缺点是每次切换系统都需要关机.切换系统. 2. 虚拟机+Lin ...

  9. Linux 性能优化之 IO 子系统 系列 图

    http://blog.sina.com.cn/s/articlelist_1029388674_11_1.html Linux 性能优化之 IO 子系统(一) 本文介绍了对 Linux IO 子系统 ...

随机推荐

  1. [ReasonML] Named & optional params

    // ::country is named param // ::country=?: which make it optional // because we make ::country=? op ...

  2. Java循环链表实现约瑟夫环(搬运)

    public class Josephus { static class Node{ int val; Node next; Node(int v){ val=v; } }//成员类,代表节点,类似于 ...

  3. 2.5 Legacy APIs官网剖析(博主推荐)

    不多说,直接上干货! 一切来源于官网 http://kafka.apache.org/documentation/ 2.5 Legacy APIs A more limited legacy prod ...

  4. golang pipe

    ===============golang pipe============== package main import ( "fmt" "io" ) func ...

  5. golang API 例子实现

    golang API 例子实现 http://files.cnblogs.com/files/rojas/astaxie.zip

  6. ubuntu14.04.32 vmware11开发环境搭建

    win7 64  vmware11 ubuntu14.04.32 在vmaware上安装ubuntu,自定义安装,选择区域为上海,这样数据源就会自动设置为中国,获取网络数据会较快,也可以安装完之后改变 ...

  7. ASP.NET MVC使用Ninject

    Ninject是一个快如闪电的,轻量级的.....依赖注入框架,呃呃呃,貌似很少用到,Ninject就是一个DI容器,作用是对ASP.NET MVC程序中的组件进行解耦 ,说到解耦其实也有其他的方式可 ...

  8. Quartz学习总结(1)——Spring集成Quartz框架

    一.Quartz简介 Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用.Quartz可以用来创建简 ...

  9. Android怎样实现毛玻璃效果之Android高级模糊技术

    自从iOS系统引入了Blur效果,也就是所谓的毛玻璃.模糊化效果.磨砂效果.各大系统就開始竞相模仿,这是如何的一个效果呢,我们先来看一下,如以下的图片: 效果我们知道了,怎样在Android中实现呢. ...

  10. ASP.Net MVC Filter验证用户登录

    一.Filter是什么 ASP.NetMVC模式自带的过滤器Filter,是一种声明式编程方式,支持四种过滤器类型,各自是:Authorization(授权),Action(行为),Result(结果 ...