Theme.sh 是一个交互式终端主题选择脚本(超过 400 个主题)

theme.sh 是一个可以轻松更改终端主题的脚本。 它带有 400 多个主题和一个可选的交互式主题选择器,并且与设备无关。

该脚本可作为包含所有 400 多个主题的单个便携式文件提供。可以直接设置终端主题。如果您的系统上安装了 fzf,它会在预览窗格中提供一个终端菜单,或者如果您的终端支持 TRUE COLOR,则直接作为终端主题来选择交互式主题。您还可以过滤明暗主题。

要使用 theme.sh,您需要使用支持 OSC4/11 的设备。这包括 kitty、st、Terminal.app、iTerm2、alacritty、urxvt、st with patch 和基于 libvte 的终端,例如 GNOME Terminal、Terminator、Guake、Xfce Terminal、Mate Terminal、Konsole。 看起来像一个 Windows 终端。我们还不支持这个。请注意,在我的测试中,Tilix 背景颜色设置不正确。另请注意,这在屏幕上不起作用。

这是真正的 theme.sh 交互式终端主题选择器(点击图片播放 asciinema 视频)。

theme.sh 在脚本中也很容易使用,开发者提供了一个 SSH 集成示例(在运行当前 ssh 命令的同时应用主题), sudo // su 包装器(将主题设置为红色警报 su 是否使用 sudo 该命令将运行至少 2 秒)。

其他功能包括使用主题的历史( ~/.theme_history 默认),以及将 Kitty 主题添加到脚本的能力。

theme.sh 类似于我之前解释过的 Paleta,但有一些不同。 theme.sh 自带了更多的功能和主题,但是 Paleta 只允许你更改主题(没有交互主题选择 UI 等)。另一方面,theme.sh 不会即时更改所有正在运行的终端仿真器的颜色,因此它会重新启动所有终端,除了更改主题的终端(更改颜色的终端除外)。是的)。

您可能还喜欢:fzf(交互式命令行模糊查找器)简介

安装主题.sh

下载 theme.sh 脚本和 /usr/local/bin, 利用:

wget https://raw.githubusercontent.com/lemnos/theme.sh/master/bin/theme.sh -O /tmp/theme.sh

sudo install /tmp/theme.sh /usr/local/bin

要使用交互式主题选择 UI,还需要安装 fzf。

如果没有其他设置,使用theme.sh 的主题集只会在当前设备上使用。当您重新启动(或打开一个新窗口)时,将使用旧的终端主题。要将最后选择的主题应用到所有支持的新设备,您需要编辑外壳配置文件。

  • 对于 Bash 和 Zsh,在最后添加以下代码 ~/.bashrc~/.zshrc (取决于您使用的是什么):
if command -v theme.sh > /dev/null; then    [ -e ~/.theme_history ] && theme.sh "$(theme.sh -l|tail -n1)"fi

  • 对于 Fish,在最后添加以下代码 ~/.config/fish/config.fish 文件:
if type -q theme.sh    if test -e ~/.theme_history        theme.sh (theme.sh -l|tail -n1)    endend

有关其他选项、​​脚本示例等信息,请参阅 theme.shGitHub 页面。