原问地址: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. Apache ZooKeeper Getting Started Guide 翻译

    ZooKeeper 開始向导 開始:用zookeeper协调分布式程序 单例操作 管理zookeeper存储 连接zookeeper 执行zookeeper 以复制模式执行zookeeper 其他优化 ...

  2. hdoj-1870-愚人节的礼物(栈)

    愚人节的礼物 Time Limit: 5000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Sub ...

  3. 一个令人蛋疼的NDK链接错误

    背景 我们APP的引擎包engine.so.包括了A.B.C三个project.但每次都是源代码形式编译,导致svn上存在多份同样代码拷贝. 很不科学. ..核心的Bproject由我维护.整个SO编 ...

  4. userAgent判断客户端,以及各个浏览器的ua

    userAgent判断客户端,以及各个浏览器的ua http://blog.csdn.net/yoyoosyy/article/details/70142884 navigator.userAgent ...

  5. H5+混合移动app

    H5+混合移动app 前言 经过2个多月的艰苦奋斗,app的第一个版本已经快完工了,期间遇到了太多的坑,作为一个喜欢分享的人,我当然不会吝啬分享这爬坑历程.不要问我有多坑,我会告诉你很多,很多.... ...

  6. 19,tuple多元数组

    #include <iostream> #include <tuple> using namespace std; void main() { char ch = 'a'; ; ...

  7. 关于Webpack详述系列文章 (第二篇)

    1.缩小文件搜索范围 1.1.1 include & exclude module:{ rules:[ { test:/\.js$/, use:['babel-loader?cacheDire ...

  8. Spring MVC modelandview

    一开始${Name} 不能显示 原来是: import org.springframework.web.portlet.ModelAndView; --错误的引入 import org.springf ...

  9. Myeclipse的默认工作区间怎么恢复提示框?

    好久一直使用默认工作空间.现在,回过头来想让那个提示框回来. 该如何做呢? 1.找到我们的myeclipse安装目录下的 2.false是关闭. 3.改成true 4.同时,新增新的工作区间和之前旧的 ...

  10. 导出查询结果到csv文件

    set colsep ,   set feedback off   set heading off   set trimout on   spool my.csv  select * from emp ...