gpt4 book ai didi

vim - 以编程方式知道当前字体是否具有电力线补丁

转载 作者:行者123 更新时间:2023-12-01 13:46:08 25 4
gpt4 key购买 nike

我将vim与vim-airline一起使用,可以将patched fonts用作其他功能。

vim-airline

我还使用了 fish shell(如果要在此处阅读zsh,因为它等效于分析),其主题也使用补丁字体。

我在线保存了点文件,并在不同的系统中使用它们。但是在其中一些我没有补丁字体。
我真的很想拥有通用的点文件,例如,如果当前字体未修补,则不使用需要修补字体的主题。同样在我的vimrc中,因此我禁止在vim-airline中使用补丁字符。

有没有一种方法可以以编程方式知道当前使用的字体是否为修补字体,从而可以编写在所有情况下都完美适合的通用点文件?

最佳答案

在Vim中,您需要直接询问终端仿真器当前正在使用哪种字体。确切的方法肯定会因终端和操作系统而异。如果可能的话。

如果在所有系统上都具有它,则可以使用lsof查找给定程序当前使用的字体:

$ lsof | grep iTerm | grep '\.\(otf\|ttf\)'

在GVim / MacVim中,您将检查当前字体名称是否与某些模式匹配,例如:
if &guifont =~? 'powerline'
" do something
else
" do something else
endif

并假设字体的文件名包含该模式。

但是,不可能保证实际的“电力线字体”的文件名中带有 powerline,同样不可能保证文件名称中带有 powerline的字体是实际的“电力线字体”。

检查字体中某处是否存在 Powerline字符串会更安全,例如:
$ xxd ~/Downloads/FuraMono-Bold\ Powerline.otf | grep Powerline

但这是假设:
  • xxd可用,
  • 您可以从设法从终端仿真器或GVim / MacVim收集的任何信息中得出实际字体的路径。

  • 对于诸如“电力线字体”之类的肤浅表述,这有很多假设,而且似乎需要大量工作。

    关于vim - 以编程方式知道当前字体是否具有电力线补丁,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36036413/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com