当前位置:首页 » 《随便一记》 » 正文

配置 Linux 终端 (zsh)

21 人参与  2024年10月25日 09:25  分类 : 《随便一记》  评论

点击全文阅读


如何配置一个高效、美观、有趣的终端

原文链接icon-default.png?t=N7T8https://dino.castamerego.com/blog/LinuxTerminal

oh-m=zsh

缘起​

最近配置的新环境比较多,包括 WSL, VsCode, ssh 等等方面,之前也做过很多环境配置,但笔记都比较散,有些更是想不起来了,这篇就把一些常用配置记录一下

Zsh​

zsh 是一个类 bash 的 shell,它比 bash 更加强大,功能更丰富,但配置起来也更复杂一些,但一旦配置好,体验会非常好

安装​

笔者这里使用 Ubuntu 进行演示,其他平台也基本类似,用自己常用包管理器即可

首先使用 apt 安装 zsh

sudo apt updatesudo apt install zsh

安装好后,使用以下命令修改默认终端为 zsh

chsh -s $(which zsh)

修改完后重新打开一个终端,即可进入 zsh 界面

安装 oh-my-zsh​

oh-my-zsh 是一个用于管理 Zsh 配置的开源框架,它提供了大量的插件、主题和配置选项,以帮助用户更高效地使用 Zsh 。直接使用 curl 安装即可

sh -c "$(curl -fsSL https://install.ohmyz.sh/)"

其他安装方式

DIY​

字体库​

配置主题时,最常见的问题就是爆出奇奇怪怪的字符,其原因就是没有安对字体。注意,这里的字体是要安装到终端所在的环境,而不是运行的环境,比如你用 Windows Terminal 连 ssh,那你的字体要安装到 Windows 下;或者用 Vs Code 连 WSL,同样也要安装到 Windows 下。

字体可以点击链接直接下载 MesloLGS NF Font。下载好后,将四个字体文件都安装即可

fonts

安装完成后,要去对应的终端里进行配置,这里列出 Windows Terminal 和 Vs Code 的配置方法,其他终端可以参考 font configure 配置(Apple Termina, Jet Brains 系列, MobaXterm, puTTY, xterm, )

Windows Terminal​

Windows Terminal Step 1

找到字体设置后,选择 MesloLGS NF 字体即可

Windows Terminal Step 2

Vs Code​

使用 ctrl + , 进入到设置页面,搜索 terminal.integrated.fontFamily, 修改为 MesloLGS NF 即可

Vs Code

powerlevel10k​

安装好字体库后,我们就可以开始配置主题,powerlevel10k

使用如下命令安装

git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k# Github 连不上去也可使用国内源git clone --depth=1 https://gitee.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k

安装好后下一小节讲如何修改主题

如何修改配置​

zsh 的配置文件为 ~/.zshrc, 其中需要我们关注的只有以下两行:

~/.zshrc

...ZSH_THEME="robbyrussell"...plugins=(git)

修改 ~/.zshrc 中的 ZSH_THEME 字段,修改完后保存,使用 source ~/.zshrc 使配置生效,默认主题为 robbyrussell,还有比较常用的 agnoster, powerlevel10k 等。前面两个都是 oh-my-zsh 内置的,直接修改 ZSH_THEME="agnoster" 即可。 powerlevel10k 的话,上一步安装好了之后,需要设置 ZSH_THEME="powerlevel10k/powerlevel10k"

首次使用 powerlevel10k 主题,会提示你进行配置,按照提示一步步来即可,效果如下: 

powerlevel10k configure

想要删除 powerlevel10k 主题,参考 uninstall Powerlevel10k

注意,在我们每次修改 ~/.zshrc 后,都要执行 source ~/.zshr 来应用新配置

可以在该文件中设置 alias -g setzsh="source ~/.zshrc" 和 catzsh='cat ~/.zshrc | grep -v "^#" | grep -v "^$"', 之后可以使用 setzsh 命令快速使配置生效,catzsh 命令快速查看当前配置。在 ~/.zshrc 文件最后添加即可,如下:

~/.zshrc

...alias -g setzsh="source ~/.zshrc"alias -g catzsh='cat ~/.zshrc | grep -v "^#" | grep -v "^$"'

插件推荐​

下面先逐个介绍插件,最后安装配置会放在一起说

GIT​

oh-my-zsh 内置了 git 插件,该插件用于显示当前 git 仓库的状态,并提供了一系列的 git 命令的快捷方式,可以使用 alias | grep git 查看

git

zsh -autosuggestions​

zsh-autosuggestion 用于在终端中显示历史命令的自动补全建议。它可以帮助你快速找到并执行之前使用过的命令,从而提高工作效率。除此之外,也可以设置根据 tab 会补全哪些命令来提示你,效果如下:

zsh-syntax-highlighting​

zsh-syntax-highlighting 用于告诉你当前命令是否合法,如果是绿色,说明命令存在,可以执行,反之显示红色,效果如下:

命令合法:

 

命令不合法:

 

相当于在每次运行前提醒你是否输入了正确的命令,避免误操作

z​

oh-my-zsh 内置了 z 插件,该插件用于快捷跳转到之前访问过的目录,省去 cd 一长串路径了,效果如下:

z

extract​

oh-my-zsh 内置了 extract 插件,该插件用于解压任何格式的压缩文件,不必根据压缩文件的后缀名来记忆压缩软件。使用 x 命令即可解压文件,再也不用记 tar -czvf 了

一键配置插件​

cd /root/.oh-my-zsh/custom/pluginsgit clone https://github.com/zsh-users/zsh-autosuggestions.gitgit clone https://github.com/zsh-users/zsh-syntax-highlighting.git

修改 ~/.zshrc

plugin config

~/.zshrc

...plugins=(git zsh-autosuggestions zsh-syntax-highlighting z extract)...

修改完成后使用 source ~/.zshrc 使配置生效(或者前面配置过的话,使用 setzsh 即可)

其他玩具​

下面都是一些linux 的小玩具,图一乐系列

cowsay​

cowsay 很单纯,类似 cat,就是让一头牛来说一段话,除了牛之外,还有其他的动物,使用 cowsay -l 列举出所有的动物,再使用 cowsay -f <animal> 来输出,安装方式如下:

sudo apt install cowsay

cowsay-f

还有 cowthink 以及其他参数,读者可以自己玩玩

lolcat​

lolcat 用于将文本颜色化并添加彩虹渐变效果

lolcat

可以将几个命令组合起来,并在 zsh 中创建 alias,比如下面就是先获取 ifconfig 让后通过 grep 过滤出 ip 地址,再使用 cowsay 和 lolcat 来输出,最后将整个命令添加别名,效果如下:

...alias -g ifc="cls && ifconfig | grep -E '.inet.|.flags.' | cowsay -f dragon -W 100 -n | lolcat"alias -g ifcc="cls && ifconfig | grep -E 'inet [0-9]*\.[0-9]*\.[0-9]*\.[0-9]*' -o  | grep -v '127.0.0.1' | cowthink -d -W 20 | lolcat"...

之后使用 ifc 和 ifcc 命令即可,效果如下:

ifc:

ifc

ifcc:

同样,主打图一乐

figlet​

figlet 用于生成 ASCII 艺术字,也比较简单,一般可以用于在用户登录时输出一个很酷的 banner,安装方式如下:

sudo apt install figlet

tip

想要在用户登陆时输出一个 banner,可以在 ~/.zshrc 的最后一行添加 figlet -Wct xxxxxx

sl​

一辆火车从屏幕开过 ?,使用 sl 命令即可

sudo apt-get install sl

sl

cmatrix​

cmatrix 是一个动态终端矩阵效果,类似黑客帝国里的那种,可以作为一个屏保玩玩,安装方式如下

sudo apt install cmatrix

cmatrix


点击全文阅读


本文链接:http://zhangshiyu.com/post/177198.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1