原问地址: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. CODEVS——T3008 加工生产调度

    http://codevs.cn/problem/3008/  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Descr ...

  2. 【Android 面试基础知识点整理】

    针对Android面试中常见的一些知识点整理,Max 仅仅是个搬运工.感谢本文中引用文章的各位作者,给大家分享了这么多优秀文章.对于当中的解析,是原作者个人见解,有错误和不准确的地方,也请大家积极指正 ...

  3. 二、Docker基础操作

    原文:二.Docker基础操作 一.下载镜像 命令:docker pull xxxxxx(镜像名) docker pull training/weapp 二.运行镜像 docker run -d -P ...

  4. Servlet 获取多个参数

    <html><head> <title>First Servlet</title></head><body bgColor=" ...

  5. Servlet 规范笔记—servlet概念及结构

     Servlet, 这个词对java程序员并不陌生,我想几乎每个java程序员在学习J2EE知识时,首先学习的就是servlet,这是一种正确的学习方式,在我看来Servlet是J2EE的基础,要熟练 ...

  6. 【SSH高速进阶】——struts2简单的实例

    近期刚刚入门struts2.这里做一个简单的struts2实例来跟大家一起学习一下. 本例实现最简单的登陆,仅包括两个页面:login.jsp 用来输入username与password:succes ...

  7. 4lession-输入函数

    接受字符串的方法 #!/usr/bin/python string = raw_input("\nplease inter you string:\n") print(string ...

  8. animation- 动画效果实现(代码中)

    1,首先我们看一下如下的代码 import android.view.animation.LayoutAnimationController; import android.view.animatio ...

  9. 5.decltype类型拷贝

    #include <iostream> using namespace std; template <class T> void show(T *p) { //初始化 decl ...

  10. vue使用jsonp

    axios不支持jsonp,所以需使用其他插件:vue-jsonp npm i vue-jsonp -S 然后在 src/main.js : import Vue from 'vue' import ...