使用 oh-my-zsh 美化 Windows Terminal Ubuntu 终端

环境

  • 系统:Windows 10 Pro ×64
  • 子系统:Ubuntu 20.04 LTS
  • 终端:Windows Terminal
  • 字体:Cascadia Code PL

装备工作

这篇文章是基于 Windows 10 + wsl2 + Ubuntu 下进行的,确保你已经使用 wsl2 Ubuntu 子系统,并使用 Windows Terminal 终端打开 Ubuntu,具体参考:

升级 Windows 10 v2004 和 wsl2

Windows Terminal 配置

安装

zsh

$ sudo apt install zsh

安装完 zsh 后,查看版本确保成功

$ zsh --version
zsh 5.8 (x86_64-ubuntu-linux-gnu)

设置 zsh 为默认 shell

$ chsh -s /bin/zsh

oh-my-zsh

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

安装后确保 oh-my-zsh 是最新的

$ omz update
Updating Oh My Zsh
From https://github.com/ohmyzsh/ohmyzsh
 * branch            master     -> FETCH_HEAD
Current branch master is up to date.
         __                                     __
  ____  / /_     ____ ___  __  __   ____  _____/ /_
 / __ \/ __ \   / __ `__ \/ / / /  /_  / / ___/ __ \
/ /_/ / / / /  / / / / / / /_/ /    / /_(__  ) / / /
\____/_/ /_/  /_/ /_/ /_/\__, /    /___/____/_/ /_/
                        /____/
Hooray! Oh My Zsh has been updated and/or is at the current version.
To keep up on the latest news and updates, follow us on Twitter: https://twitter.com/ohmyzsh
Want to get involved in the community? Join our Discord: https://discord.gg/ohmyzsh
Get your Oh My Zsh swag at: https://shop.planetargon.com/collections/oh-my-zsh

Cascadia Code PL 字体

这里的字体不是安装在 Ubuntu 里,而是安装在 Windows 系统让 Windows Terminal 使用的

下载地址: Cascadia 代码 GitHub 版本页,解压后全选字体文件,右键 – 安装 即可

配置

此时打开新的 Ubuntu 窗口即可看到已经是 zsh shell 了,接下来需要配置以让其更美观

修改 oh-my-zsh 主题

$ vi .zshrc

修改主题为:agnoster

# ZSH_THEME="robbyrussell"
ZSH_THEME="agnoster"

修改 Windows Terminal 字体

打开 Windows Terminal 设置,找到 fontFace 并配置为 Powerline 字体,具体使用哪个字体可以在 Windows 设置里查看并挑选自己喜欢的即可

"useAcrylic": true, // 开启半透明
"acrylicOpacity": 0.5, // 透明度
"fontFace": "Cascadia Code PL", // 字体
"fontSize": 10, // 字体大小
"cursorShape" : "underscore", // 光标类型
"cursorColor" : "#000000", // 光标颜色
"historySize": 9001, // 滚动历史大小
"selectionBackground": "#EE3A8C", // 选择文本底色
"colorScheme": "Frost" // 主题配色

 底部的 schemes 添加配色

{
    "name" : "Frost",
    "background" : "#FFFFFF",
    "black" : "#3C5712",
    "blue" : "#17b2ff",
    "brightBlack" : "#749B36",
    "brightBlue" : "#27B2F6",
    "brightCyan" : "#13A8C0",
    "brightGreen" : "#89AF50",
    "brightPurple" : "#F2A20A",
    "brightRed" : "#F49B36",
    "brightWhite" : "#741274",
    "brightYellow" : "#991070",
    "cyan" : "#3C96A6",
    "foreground" : "#000000",
    "green" : "#6AAE08",
    "purple" : "#991070",
    "red" : "#8D0C0C",
 // "white" : "#6E386E",
    "white" : "#FFFFFF",
    "yellow" : "#991070"
}

优化 zsh 显示

$ cd ~
$ vi .zshrc

让 zsh 默认进入 home 目录,添加:

cd ~

 复制 .bashrc 目录命令到 .zshrc

if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

让 zsh 只显示用户名和目录路径,并且随机颜色

# 0: 透明, 1: 红色, 2: 青色, 3: 黄色, 4: 蓝色, 5: 紫色, 6: 浅蓝色, 7: 白色, 8: 灰色, 9: 浅红色
color_list=(1 2 3 5 9)
function pscolor() {
    num=${#color_list[*]}
    #bgc=$((RANDOM%9+1))
    bgc=${color_list[$((RANDOM%num+1))]}
    fontc=white
    echo $bgc $fontc
}
prompt_context() {
    if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
        prompt_segment $(pscolor) "%(!.%{%F{yellow}%}.)$USER"
    fi
}
prompt_dir() {
    prompt_segment blue $CURRENT_FG '%c'
}
prompt_segment() {
    local bg fg
    [[ -n $1 ]] && bg="%K{$1}" || bg="%k"
    if [[ $1 == 3 || $1 == 7 || $1 == yellow ]]; then
        [[ -n $2 ]] && fg="%F{black}" || fg="%f"
    else
        [[ -n $2 ]] && fg="%F{white}" || fg="%f"
    fi
    if [[ $CURRENT_BG != 'NONE' && $1 != $CURRENT_BG ]]; then
        echo -n " %{$bg%F{$CURRENT_BG}%}$SEGMENT_SEPARATOR %{$fg%}% "
    else
        echo -n "%{$bg%} %{$fg%}% "
    fi
    CURRENT_BG=$1
    [[ -n $3 ]] && echo -n $3
}

生成 .dircolors 从而自定义目录颜色显示,修改颜色很简单,修改后会立刻预览

$ dircolors -p > .dircolors

然后编辑 .dircolors 即可自定义颜色,很简单这里就不做展示了

最终效果

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值