更多精彩内容,欢迎关注公众号:逻魔代码

前言

用了多年的 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

  1. 进入 MSYS2 Packages ,点击下载 zsh 压缩包:

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

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

  1. 重要! 根据向导对 zsh 进行初始化配置,主要是 tab 补全和命令历史配置。若是因为某个原因,不小心关闭或跳过了配置向导且不再出现了,可以使用如下命令再次打开配置向导:
autoload -U zsh-newuser-install
zsh-newuser-install -f

具体配置不再详细说明,若需要帮助,请联系笔者。

  1. 配置 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)"

安装插件

安装如下几个插件,提高开发效率,详细安装方法,请点击链接进入页面查看。

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高效开发环境配置(一)的更多相关文章

  1. windows phone7开发环境配置错误

    遇到下面这样一个问题:在配置windows phoe7开发环境的时候出现如下错误,以及相应的解决方案,希望对大家有所帮助. 装完环境后出现下面错误: [caption id="attachm ...

  2. QT creator+OpenCV2.4.2+MinGW 在windows下开发环境配置

    由于项目开发的原因,需要配置QT creator+OpenCV2.4.2+MinGW开发环境,现对配置方法做如下总结: 1.  下载必备软件 QT SDK for Open Source C++ de ...

  3. wxWidgets 在 Windows 下开发环境配置

    本文基于 CodeBlocks (16.01) 和 wxWidgets (3.0.2) 搭建 Windows 环境下 GUI 开发环境. 1.  CodeBlocks 官网,下载最新版安装包 code ...

  4. Python在Windows下开发环境配置汇总

    最近比较关注学习Python方面的资料和课程,由于Python本身基本都是在Linux下开发,本人windows用习惯了初用Linux各种别扭啊. 下面将我在配置Windows环境下的禁言写出来,与大 ...

  5. (OpenCV) VS2013 + opencv-2.4.10.exe + Windows 10 开发环境配置

    主要配置2点: - Windows 环境变量. - VC++ 配置. STEP BY STEP: 1. 双击 ”opencv-2.4.10.exe“,解压到本地文件夹 “C:\ ". 2. ...

  6. Windows FFMPEG开发环境配置

    1.去FFMPEG网站上下载Dev版本的库,里面有我们需要的头文件和lib文件,然后下载Shared版本的库,里面有我们需要的dll文件 http://ffmpeg.zeranoe.com/build ...

  7. AndroidStudio开发环境配置-Windows

    Android Studio开发环境配置-Windows 最近突发奇想,开始研究Android开发.开始时使用Eclipse作为开发IDE,结果各种不好使,首先下载和安装SDK,以及不同版本的Imag ...

  8. windows下的Nodejs及npm的安装、常用命令,Nodejs开发环境配置

    http://www.cnblogs.com/webstorm/p/5744942.html ***************************************** 第一步:下载Nodej ...

  9. 【Objective-C】Windows下Objective-C开发环境配置

    [Objective-C]Windows下Objective-C开发环境配置 ftp://ftpmain.gnustep.org/pub/gnustep/binaries/windows/   最近打 ...

随机推荐

  1. elastic search(以下简称es)

    参考博客园https://www.cnblogs.com/Neeo/p/10304892.html#more 如何学好elasticsearch 除了万能的百度和Google 之外,我们还有一些其他的 ...

  2. Linux中文件/文件系统的压缩、打包和备份总结(基于rhel7)

    文件/文件系统的压缩.打包 Linux有哪些压缩工具可供选择 按压缩比:xz>bzip2>gzip,按压缩时长:gzip>bzip2>xz,另外还有zip可以选择. gzip只 ...

  3. Spark——Standalone 环境安装及简单使用

    Standalone 环境安装 将 spark-3.0.0-bin-hadoop3.2.tgz 文件解压缩在指定位置(/opt/module) tar -zxvf spark-3.0.0-bin-ha ...

  4. 新建Vue项目记得几个配置

    1.在APP.vue文件夹中进行CSS初始化 2.下载vuex,vue-router,并配置 3.关闭语法检查vue.config.js 4.按需引入组件库

  5. mybatis if判断等于某个字符串

    这种写法是错误的:在OGNL的表达式中,'true'会被解析成字符,因为java是强类型的 <if test="flag=='true' "> AND ho.id = ...

  6. 论文解读(GraphSMOTE)《GraphSMOTE: Imbalanced Node Classification on Graphs with Graph Neural Networks》

    论文信息 论文标题:GraphSMOTE: Imbalanced Node Classification on Graphs with Graph Neural Networks论文作者:Tianxi ...

  7. JAVA - ArrayList是否会越界?

    JAVA - ArrayList是否会越界? ArrayList并发add()可能出现数组下标越界异常. ArrayList是实现了基于动态数组的数据结构. LinkedList是基于链表的数据结构 ...

  8. 如何使用Superset可无缝对接MRS进行自助分析

    摘要:本文主要介绍如何在MRS之上使用Superset进行数据分析. 本文分享自华为云社区<使用商业智能软件Superset分析MRS数据之最佳实践>,作者: 啊喔YeYe . 1. 概要 ...

  9. Python列表推导式,字典推导式,元组推导式

    参考:https://blog.csdn.net/A_Tu_daddy/article/details/105051821 my_list = [ [[1, 2, 3], [4, 5, 6]] ] f ...

  10. kafka消费

    消费模型 kafka模型使用了 发布/订阅.点对点模型. 消息发布 在producer端,通过分片策略,找到对应topic下面的Partition leader,把消息发送到当前Partition 消 ...