Vim/NeoVim 脚本如何检查终端模拟器

Vim/NeoVim script how to check the terminal emulator

我的机器上安装了两个终端,一个是 ubuntu 的默认终端,另一个是 alacritty。想检查 vim 是从哪个终端打开的。因为我可以与航空公司合作,所以如果是这种情况,我不会使用 let g:airline_powerline_fonts = 1 并将此变量设置为零。怎么做到的?

alacritty 终端仿真器通常将 $TERM 变量设置为 alacritty(而不是 xtermxterm-256color 或变体。)

所以假设这是你的配置(你可能会得到不正确的 $TERM 设置,特别是如果你通过 SSH 连接到远程盒子,或者使用多路复用器,例如 tmuxscreen), 你可以在你的 vimrc 中使用它来检查你是否 运行 in Alacritty.

您可以从 shell:

中查看
$ echo $TERM
alacritty

或者甚至从 Vim 内部,用 :echo $TERM.

如果 $TERM 变量确实按预期设置,您可以使用如下代码片段根据该设置有条件地设置航空公司变量:

if $TERM ==# 'alacritty'
    let g:airline_powerline_fonts = 1
endif