windows配置alacritty+zsh+ohmyzsh+ totalcommander方案解决,漂亮的终端

本文介绍了如何在Windows环境下配置alacritty终端、zsh与ohmyzsh,以及如何整合TotalCommander,提供一个美观且高效的终端使用体验。通过安装alacritty、alacritty-theme、wsl,以及配置环境变量和zsh,实现了在wsl中运行bat脚本并默认启动zsh。最后,将TotalCommander的cmd替换为alacritty,提升了命令行操作的便捷性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#声明:此文本人原创,转载请标注出处。
懒得弄博客了,就发布csdn吧,虽然挺恶心人的。

一直想整个windows下实现zsh+ohmyzsh的方案,奈何网上找遍了没有一个想要的,几乎没有windows下的方案,所以自己整了个,分享给广大的windows使用者,思想仅供参考,如果不想用alacritty可以使用其他任何的终端软件参考此篇文章的配置思路,都是可以通用的。

效果展示

效果:
![[Pasted image 20231202180832.png]]

需要准备的软件:

  • alacritty本体:
    https://github.com/alacritty/alacritty
  • alacritty-theme:
    https://github.com/eendroroy/alacritty-theme
  • ohmyzsh:

    sh -c “$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)”

安装配置

安装

alacritty安装省略
下载解压即可使用

配置

windows配置目录
C:\Users\用户名\AppData\Roaming\alacritty\alacritty.yml

内容

import:
  - S:\soft\DevEnvironment\alacritty\alacritty-theme\themes\one_dark.yaml
font:
  normal:
    family: "YaHei Consolas Hybrid"
    
shell:
  program: C:\Windows\System32\bash.exe
env:
  LANG: en_US.UTF-8

说明:

  • utf-8 解决中文乱码
  • shell program 指定打开的为wsl子系统
    这里的bash.exe位置可以通过在cmd运行where bash寻找

安装后觉得不好看,于是找到了alacritty-theme

alacritty-theme安装

https://github.com/eendroroy/alacritty-theme

直接从github下载代码,然后解压到任何喜欢的文件夹下。
安装上方配置import即可使用

安装后还是觉得代码颜色不够高端,于是想起了zsh+ohmyzsh,
但是windows不能装zsh,决定安装wsl

说一下为什么我要安装wsl而不是使用git-win或者cygwin来做linux终端,一开始我安装的cygwin,但是配置好zsh后打开终端有2秒的延迟zsh才能出来,就很难受。一开始本来是不想装wsl,总觉得会占地,臃肿,最后不得已安装了,效果当然是wsl最好。

wsl安装

wsl有wsl1,wsl2 ,

这里是我从ChatGPT中问的原因

### WSL1:

1. **架构:** WSL1使用一个由微软开发的自定义内核(WSL 1 Linux Kernel),该内核翻译 Linux 系统调用为 Windows 系统调用。这使得 Linux 程序能够在 Windows 上运行,但是由于性能方面的一些限制,特别是文件系统性能上的限制,WSL1不支持所有 Linux 内核特性。
    
2. **性能:** WSL1的性能相对较低,特别是在文件系统访问方面,因为它需要将 Linux 文件系统操作转换为 Windows 文件系统操作。
    
3. **文件系统:** WSL1使用一个通过封装实现的文件系统,不直接使用实际的 Linux 文件系统。
    

### WSL2:

1. **架构:** WSL2使用了真正的 Linux 内核。微软与 Linux 社区合作,将一个轻量级的 Hyper-V 虚拟机(VM)嵌入到 Windows 系统中,其中运行了一个完整的 Linux 内核。这意味着 WSL2 不再依赖于系统调用的翻译,而是可以直接在 Linux 内核上运行。
    
2. **性能:** WSL2通常比WSL1具有更好的性能,特别是在文件系统访问和其他与系统调用相关的操作上,因为它不再需要进行复杂的调用翻译。
    
3. **文件系统:** WSL2中,Linux 文件系统直接映射到虚拟机中的 Linux 内核,而不是通过封装进行转换。这提供了更好的文件系统性能和更好的兼容性。
    
4. **网络性能:** WSL2支持更好的网络性能,因为它可以直接访问 Windows 系统的网络堆栈。
    
5. **Docker 支持:** WSL2对 Docker 支持更好,可以直接在 WSL2 上运行 Docker 容器。

总结: wsl1使用windows内核转linux,wls2使用linux原生内核 使用hyperv技术开启的,文件系统操作更好,

选择: 我选择wsl1 主要是我不喜欢开启hyperv 莫名端口占用以及影响性能,况且我只用linux的一些好用工具。

安装没得说,直接应用商店安装。

zsh ohmyzsh安装

apt install zsh

sh -c “$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)”

如果下载不下来可以手动安装或代理,具体官方有教程

安装后发现不能在终端执行windows的一些命令,体验很不好。
于是经过灵光一闪,在linux配上windows的环境变量如何?

开搞

wsl 环境变量配置

在~/.bashrc文件中配置环境变量,添加到最后即可

export WIN_PATH="/mnt/s/soft/DevEnvironment/jdk/jdk-17.0.2/bin:/mnt/s/soft/DevEnvironment/Git/bin:/mnt/s/soft/DevEnvironment/NodeJS"
export SYS_PATH="/mnt/c/Windows:/mnt/c/Windows/System32:/mnt/c/Windows/System32/OpenSSH"
export PATH="$PATH:$WIN_PATH:$SYS_PATH"

这是我自己的,参考下格式就行,主要就是把windows环境变量中的内容配置到wsl中,wsl可以通过which 命令来寻找命令位置,windows是where 命令寻找。
记得用户的path和系统的path都需要配置。
![[Pasted image 20231202224650.png]]

配置好后又有问题了,发现bat的文件不能在wsl中直接运行,这就难受了,还得用cmd窗口,那就没意义了,于是我又问了ChatGpt,果然不负我的期望

wsl中运行bat脚本

经过我询问ChatGPT,他告诉我,wsl中运行bat需要

cmd.exe  /c  文件.bat

完事。

不行还是有问题,安装zsh配置好主题后打开alacritty默认不进入zsh

配置wsl默认进入zsh

分析流程,开打终端,默认使用的是bash,然而bash在运行前会先运行.bashrc文件来初始化,所以在.bashrc文件最后添加一行命令 zsh ,哎 行了。

整合TotalCommander

不得不说:totalcommander 真的好用,尤其是飞扬时空,免折腾 还能免费用。

使用的是飞扬时空的tc,替换自带的ctrl+g打开cmd窗口为alacritty。

配置:

1 在tc中按下ctrl+e打开配置界面,
2 在最下方usercmd.ini中添加配置
3 文件名随意,字段内容如下

命令: 
S:\soft\DevEnvironment\alacritty\Alacritty-v0.12.0-portable.exe
参数:
--working-directory %P
启动路径:
S:\soft\DevEnvironment\alacritty\

说明:
--working-directory是alacritty自带的参数命令,代表打开一个工作目录
%P是tc中的命令,代表当前窗口的路径
%S 是tc中命令,代表是选中文件的路径,这是不需要只是记录下。

4 更改ctrl+g为alacritty
选项=》配置=》其他=》 (更改快捷键),把刚才配置的文件指定给这个快捷键。

完事,这时使用totalcommander打开 ctrl+g 打开终端,漂亮,速度还快,还能自动定位文件夹,美滋滋,又可以愉快的敲命令了。

总结:

ChatGpt真的好用,一些搜不到的问题,直接一问chatGpt,回答的清清楚楚,真是生产力工具啊。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值