你不会。

你不会。

所以,我决定尝试一下 Alacritty,在他们的默认配置中有以下注释:

#env:
  # TERM variable
  #
  # This value is used to set the `$TERM` environment variable for
  # each instance of Alacritty. If it is not present, alacritty will
  # check the local terminfo database and use `alacritty` if it is
  # available, otherwise `xterm-256color` is used.
  #TERM: alacritty

我不明白的是:为什么我想xterm-256color在使用 alacritty 时将 TERM 设置为? xterm 不是 Linux 的默认终端模拟器吗?在旧的 OSX 时代,我记得使用 iTerm2,但如果我没有弄错的话,变量 TERM 被设置为xterm-256color- 当时我从未想过为什么会出现这种情况。

答案1

作为 Neovim 大师,我来这里是为了拯救成千上万想要使用美丽的人真彩色 Alacritty 与 tmux。我已经确认这对两者都有效苹果系统虚拟机。跟我来!

alacritty / INSTALL.md来自官方 Alacritty GitHub

如果你自己建立敏捷

伟大的!确保您在活泼/您克隆并运行的文件夹一个命令

sudo tic -xe alacritty,alacritty-direct extra/alacritty.info

然后转到你的 rc 文件(在我的例子中.zshrc)并添加:

export TERM=alacritty

如果您通过 Homebrew 安装 alacritty

伟大的!我和你是同一边的!而不是克隆整个活泼/文件夹,运行这个任何地方在您的计算机中:

mkdir alacritty

然后下载活泼/额外/文件夹并复制到alacritty/刚刚创建的文件夹中,然后(以下步骤同建造上面的步骤)运行:

sudo tic -xe alacritty,alacritty-direct extra/alacritty.info

然后转到你的 rc 文件(在我的例子中.zshrc)并添加:

export TERM=alacritty

享受!

答案2

你不会。

正如评论所说,Alacritty 的正确终端类型是:alacritty

评论告诉你的是,如果你不这样做明确地指定终端类型,Alacritty 会查看您的 terminfo 数据库是否有alacritty条目,如果有,则将终端类型设置为alacritty,并使用糟糕的后备如果没有这样的条目。

xterm-anything除非您的终端仿真器实际上是 XTerm 程序,否则设置的终端类型是错误的。

正确的做法是alacritty在 terminfo 数据库中添加一个条目(如果该条目丢失)。 terminfo 都允许条目从机器导出和导入到机器,允许人们在其主目录中本地添加终端功能记录。

它不应该丢失。 Dickey terminfo 自 2018 年起就有了一个alacritty条目,Alacritty 开发人员自己也提供了一个 terminfo 条目,人们可以从 2017 年起将其添加到数据库中。

进一步阅读

答案3

原因之一是确保 ls 的输出是彩色的:dircolors 用于设置 LS_COLORS 环境变量。 dircolors 读取 TERM 以确定终端是否支持颜色。如果你跑

dircolors --print-database | grep '^TERM'

您将获得 dircolors 知道的所有颜色终端的列表。alacritty不在名单上。我假设存在更多具有此类行为的程序,否则 Alacritty 的 TERM 的默认值可能是alacritty-color(因为*color*在 dircolors 列表中)。

由于 Mono 中的错误,某些游戏无法启动。这官方解决方法就是使用TERM=xterm.

答案4

当前评分最高的答案状态:

正确的做法是在 terminfo 数据库中添加一个 alacritty 条目(如果该条目丢失)。 terminfo 既允许从机器导出条目,也允许将条目导入机器,并允许人们在其主目录中本地添加终端功能记录。

这是一个在本地导出并通过 ssh 远程导入的 oneliner:

infocmp | ssh $user@$host 'tic -x -'

有关导出和导入命令的更多信息,请分别参阅man infocmp和。man tic

额外的 Unix/Linux 技巧(不要对信使投反对票;-)

使用-作为文件名是一种常见(尽管不是通用)约定,用于告诉命令需要文件参数来读取/dev/stdin.许多命令(包括tic)支持它,但没有在手册页中说明。在大多数情况下,您可以使用显式设备路径。

infocmp | ssh $user@$host 'tic -x /dev/stdin'

相关内容