Windows高效开发环境配置(一)
更多精彩内容,欢迎关注公众号:逻魔代码
前言
用了多年的 MacOS 做开发,一系列诸如 Alfred、Item2、Oh-my-zsh 之类的工具,大大地提升了工作的效率和使用舒适度。新工作不给配 Mac 电脑,自己带电脑每天背着实在麻烦,就花时间研究了下如何在 Windows 上配置一个高效的开发环境,将以系列文章的形式分享出来,希望可以对使用 Windows 开发的大家有些帮助!
在 MacOS 上,iTerm2 + Oh-My-Zsh 是高效生产力工具组合,其终端命令行提示功能极其便携,尤其是 zsh-autosuggestions 命令行自动填充功能等插件。
那么在 Windows 系统中是否可以配置 Zsh 终端并安装其插件呢?
当然可以!
我们先看最终的效果:

要达成此目的,有两种实现方案:
- WSL + ohmyzsh
- Git Bash + zsh
相比于这两种方案而言:
- 第一种方案 WSL 直接安装 Linux 子系统,优点是支持 Linux 生态;缺点是开发时一般在主机系统,而 Linux 子系统和主机系统之间的通过网络共享文件,相对不便。
- 第二种方案 Git Bash 优点是不用切入 Linux 子系统可直接使用 Zsh,方便;缺点则是不完全支持 Linux 命令。
那么我们选择哪种方案呢?
小孩子才做选择,大人则全都要!
WSL 提供 Linux 生态,搭建一些服务之类的;而 Git Bash + zsh 则用于日常开发,完全不冲突!Perfect ~!
就本文而言,我们先配置 Git Bash + zsh 的方案,其他方案,且听下回分解。
更多精彩内容,欢迎关注公众号:逻魔代码
安装 Git Bash
从官网下载 Git for Windows ,其包含 Git Bash、Git GUI、Shell Integration 三个部分,安装完成后, bash shell 和 git 都有了,这也是我选择它的原因。
安装过程也很简单,唯一需要注意的就是,要把如下图所示的两个选项勾选上,其他默认即可,依次下一步。

安装完成后,打开 Git Bash,即可使用大部分常用的 bash 命令。
安装配置 Zsh
- 进入 MSYS2 Packages ,点击下载 zsh 压缩包:

- 使用 7zip 解压,复制 etc、usr 两个文件夹到 Git 安装目录中,如图:

- 打开 Git Bash,执行命令
zsh,出现如下图所示,即表示 zsh 安装成功

- 重要! 根据向导对 zsh 进行初始化配置,主要是 tab 补全和命令历史配置。若是因为某个原因,不小心关闭或跳过了配置向导且不再出现了,可以使用如下命令再次打开配置向导:
autoload -U zsh-newuser-install
zsh-newuser-install -f
具体配置不再详细说明,若需要帮助,请联系笔者。
- 配置 zsh 为 Git Bash 的默认 shell 。在
~/.bashrc(用户主目录)中添加如下内容:
# Enable zsh
if [ -t 1 ]; then
exec zsh
fi
若安装 Git Bash 时,完全按照上文说明,则在用户根目录下,有一个 .bashrc 文件,否则请自行创建。
安装 oh-my-zsh
按照上面的步骤,我们的 Git Bash 已经和 Unix Zsh Shell 没什么区别了,接下来直接执行 oh-my-zsh 安装脚本即可:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
安装插件
安装如下几个插件,提高开发效率,详细安装方法,请点击链接进入页面查看。
- zsh-completions
- zsh-syntax-highlighting
- zsh-autosuggestions
- 提示:如果自动提示插件遇到光标闪动之类的奇怪问题,这可能是 v0.7.0 引起的问题,切换到 v0.6.4 版本即可。
cd ~/.oh-my-zsh/plugins/zsh-autosuggestions
git checkout tags/v0.6.4 -b v0.6.4-branch
Windows Terminal
强烈建议安装!
Windows Terminal 是微软官方出品的新一代终端集成工具,安装之后,可以直接以 Tab 页的形式管理 CMD、PowerShell、Git Bash等。其美观性和功能性,都远远胜出 Windows 内置的 CMD 和 PowerShell。直接从应用商店安装即可,以后更新更方便。

更多精彩内容,欢迎关注公众号:逻魔代码
至此,本文配置全部完成!
Windows高效开发环境配置(一)的更多相关文章
- windows phone7开发环境配置错误
遇到下面这样一个问题:在配置windows phoe7开发环境的时候出现如下错误,以及相应的解决方案,希望对大家有所帮助. 装完环境后出现下面错误: [caption id="attachm ...
- QT creator+OpenCV2.4.2+MinGW 在windows下开发环境配置
由于项目开发的原因,需要配置QT creator+OpenCV2.4.2+MinGW开发环境,现对配置方法做如下总结: 1. 下载必备软件 QT SDK for Open Source C++ de ...
- wxWidgets 在 Windows 下开发环境配置
本文基于 CodeBlocks (16.01) 和 wxWidgets (3.0.2) 搭建 Windows 环境下 GUI 开发环境. 1. CodeBlocks 官网,下载最新版安装包 code ...
- Python在Windows下开发环境配置汇总
最近比较关注学习Python方面的资料和课程,由于Python本身基本都是在Linux下开发,本人windows用习惯了初用Linux各种别扭啊. 下面将我在配置Windows环境下的禁言写出来,与大 ...
- (OpenCV) VS2013 + opencv-2.4.10.exe + Windows 10 开发环境配置
主要配置2点: - Windows 环境变量. - VC++ 配置. STEP BY STEP: 1. 双击 ”opencv-2.4.10.exe“,解压到本地文件夹 “C:\ ". 2. ...
- Windows FFMPEG开发环境配置
1.去FFMPEG网站上下载Dev版本的库,里面有我们需要的头文件和lib文件,然后下载Shared版本的库,里面有我们需要的dll文件 http://ffmpeg.zeranoe.com/build ...
- AndroidStudio开发环境配置-Windows
Android Studio开发环境配置-Windows 最近突发奇想,开始研究Android开发.开始时使用Eclipse作为开发IDE,结果各种不好使,首先下载和安装SDK,以及不同版本的Imag ...
- windows下的Nodejs及npm的安装、常用命令,Nodejs开发环境配置
http://www.cnblogs.com/webstorm/p/5744942.html ***************************************** 第一步:下载Nodej ...
- 【Objective-C】Windows下Objective-C开发环境配置
[Objective-C]Windows下Objective-C开发环境配置 ftp://ftpmain.gnustep.org/pub/gnustep/binaries/windows/ 最近打 ...
随机推荐
- Spring Cloud Alibaba入门篇
学习条件 了解web三层架构 熟练应用SSM架构 了解Maven管理工具的使用 熟练使用SpringBoot,以及了解SpringBoot基本原理. 了解部分术语:应用.工具.耦合.负载等 温馨提示: ...
- 1903021121-刘明伟-java第七周作业-客户类测试
项目 内容 课程班级博客链接 19信计班(本) 作业要求链接 作业要求链接 博客名称 1903021121-刘明伟-java第七周作业-客户类测试 要求 每道题要有题目,代码,截图 第一部分: 创建客 ...
- 使用python脚本+zabbix前端监控云联网底层TCP数据流所负载的链路质量,并在丢包时联动保存MTR记录
背景 目前国内各家云联网跨区域数据传输,会将数据流通过哈希运算负载到不同的底层链路上,而底层链路质量差异较大,这种情况导致的现象就是,使用传统的icmp监控线路正常,但是业务一直不稳定,所以才有了使用 ...
- 斯坦福NLP课程 | 第12讲 - NLP子词模型
作者:韩信子@ShowMeAI,路遥@ShowMeAI,奇异果@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/36 本文地址:http://www. ...
- 组织:EFF
电子前沿基金会(Electronic Frontier Foundation), 简称EFF,是一个非营利性的国际法律组织.该组织成立于1990年,创始人包括Mitch Kapor(Lotus公司的总 ...
- 在MySQL中保存Java对象
需要在MySQL中保存Java对象. 说明: 对象必须实现序列化 MySQL中对应字段设置为blob 将Java对象序列化为byte[] public static byte[] obj2byte(O ...
- break、continue、return中选择一个,我们结束掉它
在平时的开发过程中,经常会用到循环,在写循环的过程中会有很多判断条件及逻辑,你知道如何结束一个循环吗?在java中有break.continue.reture三个关键字都可以结束循环,我们看下他们 ...
- Simple, Fast Malicious Multiparty Private Set Intersection-解读
文本记录阅读该论文的笔记. 这是文章框架,来自视频. 介绍 本文主要解决恶意攻击下安全的多方PSI,主要用到两大技术OPPRF和OKVS,构造合谋和不合谋的协议. 基础知识 OPPRF 这部分在OPR ...
- c++ 关于二分的STL 详解
一.解释 以前遇到二分的题目都是手动实现二分,不得不说错误比较多,关于返回值,关于区间的左闭右开等很容易出错,最近做题发现直接使用STL中的二分函数方便快捷还不会出错,不过对于没有接触过的同学,二分函 ...
- Linux切换中英文输入
使用xshell登录Linux服务器后,输入的命令正确但是提示命令不存在,这是什么鬼. 通过移动光标可以发现两种字体的宽度不一样 解决方法 shift + 空格 进行切换