Loading...

文章背景图

Arch终端美化

2026-09-20
5
- 字
- 分钟
|

路线图

  1. 装包:Nerd Font + starship + eza + bat + fastfetch
  2. alacritty:换字体 + 套 Catppuccin Mocha 主题
  3. fish:接入 starship + 设置 eza/bat 缩写
  4. 验收:看最终效果

一、安装软件包

这五个包都在官方仓库,一条命令搞定:

sudo pacman -S ttf-jetbrains-mono-nerd starship eza bat fastfetch

二、配置 Alacritty

1. 写入 Mocha 主题,收起旧主题

mv ~/.config/alacritty/dank-theme.toml ~/.config/alacritty/dank-theme.toml.bak
curl -fLo ~/.config/alacritty/catppuccin-mocha.toml https://github.com/catppuccin/alacritty/raw/main/catppuccin-mocha.toml
wc -l ~/.config/alacritty/catppuccin-mocha.toml; head -n 3 ~/.config/alacritty/catppuccin-mocha.toml

mv 是把旧的 dank 主题改名收起——留一份备份,也避免多套主题互相覆盖;curl 的 -f 保证 HTTP 出错时直接失败,而不是把 404 页面当成主题文件存下来,-L 用于跟随 GitHub 的跳转。

2. 写入主配置

begin
    echo 'general.import = ["~/.config/alacritty/catppuccin-mocha.toml"]'
    echo ''
    echo '[window]'
    echo 'opacity = 0.95'
    echo 'padding = { x = 10, y = 10 }'
    echo ''
    echo '[font]'
    echo 'size = 11.5'
    echo ''
    echo '[font.normal]'
    echo 'family = "JetBrainsMono Nerd Font"'
    echo 'style = "Regular"'
    echo ''
    echo '[font.bold]'
    echo 'family = "JetBrainsMono Nerd Font"'
    echo 'style = "Bold"'
    echo ''
    echo '[font.italic]'
    echo 'family = "JetBrainsMono Nerd Font"'
    echo 'style = "Italic"'
    echo ''
    echo '[font.bold_italic]'
    echo 'family = "JetBrainsMono Nerd Font"'
    echo 'style = "Bold Italic"'
end > ~/.config/alacritty/alacritty.toml
cat ~/.config/alacritty/alacritty.toml

预期输出:写入无提示,最后 cat 回显整个文件,首行是 general.import = [...],共 24 行。

写完后有两个可调点(以后想改直接编辑这个文件,alacritty 会热重载):

  • 透明度:不喜欢朦胧感就把 opacity = 0.95 改成 1.0
  • 字号:size = 11.5 按需调整

然后开一个新的 alacritty 窗口——旧窗口在启动时就已经读完配置,不会自动变色。新窗口应该看到:背景变成 Mocha 的深蓝黑、文字是柔和的米白、字体变成 JetBrains Mono,窗口带轻微透明和内边距。

三、配置 fish

1. 关掉欢迎语

fish 的持久变量一条命令永久关掉,不用动任何配置文件:

set -U fish_greeting

set -U 是 fish 的「跨会话持久变量」,写一次对所有新开的 fish 生效,欢迎语从此消失。如果它没生效,见文末《常见问题》里的排查方法。

2. 接入 starship 与 eza/bat 缩写

往 config.fish 末尾追加(>> 不会动你已有的内容):

begin
    echo ''
    echo '# --- terminal rice: starship prompt ---'
    echo 'if status is-interactive'
    echo '    starship init fish | source'
    echo ''
    echo '    # eza & bat abbreviations'
    echo '    abbr -a ls eza'
    echo '    abbr -a ll "eza -l --git --icons=auto"'
    echo '    abbr -a la "eza -la --git --icons=auto"'
    echo '    abbr -a lt "eza --tree --level=2 --icons=auto"'
    echo '    abbr -a cat bat'
    echo 'end'
end >> ~/.config/fish/config.fish
tail -n 12 ~/.config/fish/config.fish

缩写(abbr)是 fish 的原生功能——敲 ls 回车前它会原地展开成 eza,看得见也改得掉,比 alias 更透明;而且只作用于交互式输入,脚本里的 ls、cat 不受影响。不需要把 cat 换成 bat 的话,删掉那行即可。

3. 应用 Catppuccin Powerline 预设

starship preset catppuccin-powerline -o ~/.config/starship.toml
head -n 6 ~/.config/starship.toml

这条命令会把官方预设写进 ~/.config/starship.toml,提示符变成一整条 powerline 分段条:目录、git 状态、语言版本各占一段,用 Nerd Font 箭头衔接,颜色和 Mocha 终端同源。

四、验收

在任意窗口跑:

fastfetch
ls

预期效果:

  • fastfetch:Arch logo + 系统信息面板(显卡、内核、合成器、终端都会列出来),在 Mocha 配色下观感很整体
  • ls:彩色条目 + 每个文件/目录的 Nerd Font 小图标

可选:开新窗口时显示系统信息

喜欢每次开终端先秀一眼机器状态的,追加这段(新窗口生效):

begin
    echo 'if status is-interactive'
    echo '    fastfetch'
    echo 'end'
end >> ~/.config/fish/config.fish

不想要就不跑,对现有配置零影响。

效果对比


原创

Arch终端美化

本文链接: Arch终端美化

本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。

评论交流

文章目录