支持 GUI 和 TUI 的图标扩展:icons-in-terminal.el

all-the-icons目前还是 emacs 里最好的 icon 包,可惜不支持 terminal。之前看到@twlz0ne 老铁开发了nerd-fonts.el,提议开发一个nerd-icons.el ,原帖在此:参照 all-the-icons.el 写一个扩展:nerd-icons.el 。但是发现图标缺失太多,且大小格式不统一,还需要大量的时间和精力去调整,否则无法复用之前的代码。

在讨论过程中,我参考 all-the-iconsicons-in-terminal 也简单写了一个包icons-in-terminal.el,能同时支持 GUI 和 TUI,而且最大程度兼容了all-the-icons接口,所有调用all-the-icons-xxx的地方直接改成icons-in-terminal-xxx即可。和all-the-icons 一样,除了主字体之外还需要安装图标字体,不过对系统来讲经过映射只有一个icons-in-terminal.ttf,这样在终端里可以设置用该字体显示 Unicode 字符。

icons-in-terminal.elnerd-icons.el 原理类似,优势是对图标支持和all-the-icons接近,几乎不需要调整 (目前发现的只有 material 字体位置有所不同),显示效果很统一;唯一的缺点就是需要额外多安装一个字体icons-in-terminal.ttf 以支持图标显示。

目前效果如下:

4 个赞

请问用ssh连linux,再开个emacs,也能用吗?

远端 Linux 支持字体就行

mac怎么操作?我看doom-modeline不行啊,要修改代码?

目前icons-in-terminal不在 melpa 上,doom-modeline 主分支还不支持icons-in-terminal,我只在本地开发分支测试了。

terminal与emacs统一用一套图标,是很好的注意。请问安装了icons-in-termina字体及您的icons-in-terminal.el这个包后,C-x d 就可以有本帖图1图2的效果(带有图标)?另image 这是用的什么命令?