编程开源技术交流,分享技术与知识

网站首页 > 开源技术 正文

使用MSYS2+OhMyZsh搭建开发环境

wxchong 2025-01-21 22:09:10 开源技术 136 ℃ 0 评论

声明: 本文中所表达的观点和信息仅代表作者个人的法,如发现错误或不准确之处,欢迎指出,谢谢!欢迎在评论区一起交流!

Windows下类Unix环境的软件对比

软件

Git Bash

MinGW

WSL/WSL2

Cygwin

MSYS2

简介

Git Bash 是一款在 Windows 操作系统上运行的命令行工具,结合了 Git 和 Bash 的功能,为用户提供了一个仿 UNIX 的环境,使他们能够使用熟悉的 Bash 命令行及其强大的命令行操作能力,同时也包含了 Git 的版本控制工具。

MinGW(Minimalist GNU for Windows)是GNU编译器集合(GCC)在Windows操作系统上的一个本地移植版本。它提供了可以自由分发的导入库和头文件,使开发人员能够在Windows平台上构建原生应用程序。

WSL(Windows Subsystem for Linux)是微软为 Windows 操作系统提供的一个兼容层,允许用户直接在 Windows 上运行 Linux 发行版的应用和工具。WSL 的主要目的是为开发者提供一种在 Windows 上无缝运行 Linux 命令行的体验,而无需创建虚拟机或双重启动。
WSL2 是 WSL 的更新版本,带来了更高的性能和更完整的 Linux 兼容性。

Cygwin 是一个为 Windows 操作系统提供的一个大型开源工具集,旨在为 Windows 用户提供类 Unix 的环境。它通过一层 POSIX 兼容层,允许用户在 Windows 上运行许多 Linux 和 Unix 应用程序。Cygwin 包括一个动态链接库(Cygwin DLL),该库为大多数 POSIX API 提供了实现。

MSYS2 是一个轻量级的开发环境,源自于 MinGW 和 MSYS,旨在为开发者在 Windows 上提供一个更现代和灵活的工具集。它为构建跨平台的软件提供了一个基于 Unix 的环境,结合了包装管理器和多个开发工具。用户可以在 MSYS2 中方便地使用 Linux 风格的工具和开发库。

官方网站

https://git-scm.com/

https://sourceforge.net/projects/mingw/

https://learn.microsoft.com/en-us/windows/wsl/

https://www.cygwin.com/

https://www.msys2.org/

软件包管理器

-

-

apt

-

pacman

特点

- 提供仿 Unix 的 shell,用户可以使用 Bash 命令。
- 集成 Git 工具,便于管理版本和代码。
- 相对轻量,主要用于与 Git 的交互。

- 提供了对 Windows API 的直接访问,开发原生 Windows 应用。
- 轻量,不需要 POSIX 兼容层。
- 包含在 Windows 环境中使用的基本工具和库。

- 提供一个近乎原生的 Linux 体验,直接运行 Linux 二进制文件。
- WSL2 包含完整的 Linux 内核,支持更多系统调用。
- 文件系统集成,能够直接访问 Windows 文件。

- 提供完整的 POSIX 兼容层,支持许多 Unix/Linux 工具和应用程序。
- 包括 Cygwin DLL,实现了大多数 POSIX API。

- 使用 pacman 包管理器,支持安装和管理软件包。
- 支持多个环境(如 MSYS、MINGW-w64 和 MINGW32),适合不同的开发需求。
- 集成了许多现代化的开发工具和库。

笔者原先使用 Git Bash + Zsh + Oh My Zsh 的方案,后面切换成 MYSY2 + Zsh + Oh My Zsh ,最重要的原因是MSYS2的包管理器。

安装MSYS2

打开 https://www.msys2.org/#installation

按照指引下载安装包并进行安装。

MSYS2提供了一系列环境(https://www.msys2.org/docs/environments/):

  • MSYS
  • UCRT64
  • CLANG64
  • CLANGARM64
  • CLANGARM64

可以根据需求选择。没有特别的要求可以按文档的建议使用 UCRT64。

安装 Zsh

Windows菜单搜索MSYS2 UCRT64应用并打开,可以看到一个终端窗口。

# 输入y确认
pacman -S zsh

安装 Oh My Zsh

打开 https://ohmyz.sh/#install 使用 curl 或 wget:

# 使用 curl
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

# 或者wget
sh -c "$(wget https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"

安装完可以选择主题(https://github.com/ohmyzsh/ohmyzsh/wiki/Themes)

编辑 ~/.zshrc文件(搜索ZSH_THEME),填写心仪的主题,笔者之前使用的是maran

ZSH_THEME="maran" # robbyrussell"

修改之后保存,执行

source ~/.zshrc

打开一个git管理的代码仓库,maran的效果如

user@hostname:/e/workspaces/myrepo git:(master*) $

安装 powerlevel10k

Powerlevel10k 是一个 Zsh 主题,它强调速度、灵活性和开箱即用的体验。

在速度方面有一些提升,感兴趣的朋友可以尝试。

地址:https://github.com/romkatv/powerlevel10k

# 安装
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

# 重启zsh
exec zsh

# 配置:会弹窗提示选择样式
p10k configure

IDE配置终端使用MSYS2

https://www.msys2.org/docs/ides-editors/ 列举了如何配置Sublime Text和Visual Studio Code。

Jetbrains配置: FIle - Settings - Tools - Terminal - Application Settings - Shell path 填写以上链接中的类似命令:

 C:\\msys64\\msys2_shell.cmd -defterm -here -no-start -ucrt64

参考文档

  • https://www.softpost.org/c-language/differences-between-cygwin-mingw-wsl-windows-subsystem-for-linux-msys2-and-git-bash

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表