Windows高效开发环境配置(一)

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

前言

用了多年的 MacOS 做开发,一系列诸如 Alfred、Item2、Oh-my-zsh 之类的工具,大大地提升了工作的效率和使用舒适度。新工作不给配 Mac 电脑,自己带电脑每天背着实在麻烦,就花时间研究了下如何在 Windows 上配置一个高效的开发环境,将以系列文章的形式分享出来,希望可以对使用 Windows 开发的大家有些帮助!

在 MacOS 上,iTerm2 + Oh-My-Zsh 是高效生产力工具组合,其终端命令行提示功能极其便携,尤其是 zsh-autosuggestions 命令行自动填充功能等插件。

那么在 Windows 系统中是否可以配置 Zsh 终端并安装其插件呢?

当然可以!

我们先看最终的效果:

Windows高效开发环境配置(一)

要达成此目的,有两种实现方案:

  • 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 都有了,这也是我选择它的原因。

安装过程也很简单,唯一需要注意的就是,要把如下图所示的两个选项勾选上,其他默认即可,依次下一步。

Windows高效开发环境配置(一)

安装完成后,打开 Git Bash,即可使用大部分常用的 bash 命令。

安装配置 Zsh

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

Windows高效开发环境配置(一)
  1. 使用7zip 解压,复制 etc、usr 两个文件夹到 Git 安装目录中,如图:

Windows高效开发环境配置(一)
  1. 打开 Git Bash,执行命令 zsh ,出现如下图所示,即表示 zsh 安装成功

Windows高效开发环境配置(一)
  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高效开发环境配置(一)

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

至此,本文配置全部完成!

Original: https://www.cnblogs.com/xxcbdhxx/p/16530639.html
Author: 北鱼扶摇
Title: Windows高效开发环境配置(一)

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/589952/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

  • zookeeper_overview

    概述 zk 是一个开源的,分布式协调服务,它的目的就是为了服务于分布式应用。zk 允许分布式应用通过 zk 的节点进行相互协调,常见的有配置同步、分布式锁、微服务注册与发现等等。 …

    Java 2023年6月8日
    083
  • 排序总结 O_o

    常见的排序算法对比:时间复杂度上:插入类没有,选择类的 堆排、交换类的 快排、独一档:归并稳定性:归并排序独一档,又快又稳定,剩下的都是慢的(直接插入、冒泡) 参考文章 插入类 【…

    Java 2023年6月7日
    0114
  • Java 形参传递机制

    形参细节补充 形参传递机制 如果前面的基本类型和引用类型学明白了,这一部分很简单。 在执行类方法的时候, JVM 会开辟临时栈,这个 临&#x65F6…

    Java 2023年6月5日
    085
  • java~Map集合整理

    Map图 HashMap 是 Java Collection Framework 的重要成员,也是Map族(如下图所示)中我们最为常用的一种。不过遗憾的是,HashMap是无序的,…

    Java 2023年5月29日
    079
  • Java后端WebSocket的Tomcat实现

    一.WebSocket简单介绍 随着互联网的发展,传统的HTTP协议已经很难满足Web应用日益复杂的需求了。近年来,随着HTML5的诞生,WebSocket协议被提出,它实现了浏览…

    Java 2023年5月29日
    086
  • 我的第一个springboot starter

    在springboot中有很多starter,很多是官方开发的,也有是个人或开源组织开发的。这些starter是用来做什么的呐? 一、认识starter 所谓的starter,在s…

    Java 2023年6月9日
    075
  • Spring Boot【快速入门】

    转自: https://www.cnblogs.com/wmyskxz/p/9010832.html Spring Boot 概述 Build Anything with Spri…

    Java 2023年5月30日
    077
  • 诚立业科技面试经历

    笔试题: 面试: 1.自我介绍,讲讲项目 2.项目中redis是如何使用的? 3.你们数据量有多大,是如何保证高可用的? 4.mysql数据库你是怎么优化的? 5.kafka你们项…

    Java 2023年6月14日
    072
  • 防止重复提交解决方案-(基于JAVA注解+AOP切面)

    1、前言 近期在构建项目脚手架时,关于接口幂等性问题,考虑做成独立模块工具放进脚手架中进行通用。如何保证接口幂等性,换句话说就是如何防止接口重复提交。通常,前后端都需要考虑如何实现…

    Java 2023年5月29日
    073
  • 项目准备

    项目导入 资料连接: https://pan.baidu.com/s/1Xp97dflG_i1a8DyTKJWAjg提取码:java 选择项目的pom.xml文件导入 项目启动 第…

    Java 2023年6月6日
    088
  • SpringCloud微服务之Ribbon负载均衡(一)

    什么是微服务?什么是SpringCloud? 微服务是一种架构的模式,它提倡将一个应用程序划分成很多个微小的服务,服务与服务之间相互协调、相互配合。每个服务运行都是一个独立的进程,…

    Java 2023年6月7日
    081
  • 如何查看和结束占用的端口

    很多时候,我们启动idea的服务都会出现端口给占用的情况,导致项目跑不起等情况! 或者是SQL服务器’80’给占用。 方法: 查看占用端口: 开始&#821…

    Java 2023年6月9日
    079
  • 各编程语言 + aardio 相互调用示例

    404. 抱歉,您访问的资源不存在。 可能是网址有误,或者对应的内容被删除,或者处于私有状态。 代码改变世界,联系邮箱 contact@cnblogs.com 园子的商业化努力-困…

    Java 2023年6月16日
    0123
  • SpringCloudAlibaba项目之Ribbon负载均衡

    SpringCloudAlibaba随笔目录 一、SpringCloudAlibaba项目之父工程搭建 二、 SpringCloudAlibaba项目之Nacos搭建及服务注册 三…

    Java 2023年6月5日
    097
  • 数组目标值target两个整数,并返回它们的数组下标

    1、题目背景 给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案…

    Java 2023年6月8日
    084
  • Java 顺序查找 二分查找

    查找 在 Java 中我们常用的查找有两种: 顺序查找 即:有一个数组/数列 {“a”, “b”, “c”, “d”} 我们从键盘中输入任意一个 与数组类型相同的值,然后循环遍历这…

    Java 2023年6月5日
    0202
亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球