某菜鸡在经历了cmd壳下运行的WSL shell里zsh显示出现各种申必问题之后,终于忍不住痛下决心要解决这个问题。然后就在我的大佬队友那里了解到了一个神器——windows ternimal,然后现在我的想法:cmd是什么,狗都不用(手动狗头)
下面就给大家演示一下,如何从bash升级到一个带有自动补全+自定义主题+显示正常的zsh
首先,要安装zsh和配置字体,这个可以参见windows下linux子系统(Ubuntu)配置(基础配置+zsh) - yink's studio (yinkstudio.xyz)
后来,由于每一次WSL进windows目录都特别麻烦,所以说想整一个直接在文件夹内启动的功能,就又参照了这篇文章Windows下安装Linux(Ubuntu20.04)子系统(WSL),更改终端显示路径长短,并为其添加鼠标右键启动
但是,由于WSL的exe运行默认是在cmd框架下运行,而cmd框架太老了,导致我的zsh老是出现一些申必问题...
所以说,就换成了windows terminal,这个框架很新,我的WSL显示没有任何问题。在微软自带的商店就可以下载得到,然后快捷启动在文件夹路径那里输入wt或者右键菜单启动即可,并且还可以实现多个shell多个标签页,这样我就不用每次一个shell打开一个程序了...下载下来自动注册右键菜单
配置在当前目录打开:设置在当前目录下打开 Windows Terminal 到鼠标右键 | 蓝蓝的博客 (lanlan2017.github.io)
配置zsh自动补全(这是一个插件):[zsh 配置] zsh命令自动补全插件 - 简书 (jianshu.com),不过注意git clone的时候网址要改成https://github.com/zsh-users/zsh-autosuggestions.git
接下来,你就会拥有一个超级舒服的shell了~
上图:
--2022.4.11更新--
又经过一段时间的折腾,给zsh加了点配置
现在我把我的zsh又增加了两个插件,自动补全和语法高亮,详见猿内功:终端+oh-my-zsh漂亮配色、实用插件 - 简书 (jianshu.com)
加上前面的配置,整了个bash脚本,直接bash运行就可以完成配置了
#! /bin/bash sudo apt-get install zsh chsh -s /bin/zsh apt install curl curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh # You can change agnoster to any theme you like sed -i "s/robbyrussell/agnoster/g" ~/.zshrc sudo apt-get install git rm -rf ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions rm -rf ~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting sed -i "s/plugins=(git)/plugins=(git zsh-autosuggestions extract zsh-syntax-highlighting)/g" ~/.zshrc source ~/.zshrc wget https://raw.githubusercontent.com/powerline/powerline/develop/font/10-powerline-symbols.conf wget https://raw.githubusercontent.com/powerline/powerline/develop/font/PowerlineSymbols.otf sudo mkdir /usr/share/fonts/OTF mv 10-powerline-symbols.conf /etc/fonts/conf.d/ mv PowerlineSymbols.otf /usr/share/fonts/OTF/
接下来是windows terminal的配置,把云服务器的shell也放到windows terminal里面了,现在全部shell都在windows terminal里
我是用的WSL里面的ssh,感觉比windows的方便一点
类似于这样的命令:
wsl.exe -d Ubuntu-20.04 -u root ssh -i ~/.ssh/<private-key> root@<server-ip>
还配置了一下字体
shell图标可以到各大网站的favicon.ico文件去找,比如favicon.ico (64×64) (ubuntu.com)
接下来给linux配了个翻墙,v2ray,想配置的看看官方文档吧,这东西我不好多说。如果想要多个服务器,在routing里面多配几个规则,把tag对应配好就行,中间有什么问题看看日志看看报错,google一下解决方案,实在解决不了的可以留言
最后上个图(用clear命令做了清屏处理)
文章评论