You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Space Mono字体自动将</转为箭头,求解决方法及原理

问题:Space Mono字体中</被自动渲染为箭头,如何取消或了解原因?

Space Mono字体渲染截图

我尝试在终端/neovim环境中使用Space Mono字体,但遇到一个奇怪的问题:</会被自动转换为箭头。截图来自Adobe字体官网。

我希望能手动取消这一效果——因为这种渲染方式显然会导致XML/HTML开发工作变得麻烦甚至无法进行。即便无法取消,我也想了解其背后的原因。

起初我以为是终端配置的问题,但在Google Fonts和Adobe Fonts中输入</时也出现了同样的结果。


回答

原因

这是Space Mono字体内置的**连字(Ligatures)**特性导致的。为了优化代码阅读体验,部分等宽字体(包括Space Mono)会将特定字符组合(如</、->、==等)设计成合并后的特殊字形,</被替换成箭头就是该字体预设的连字规则之一。

取消方法

根据使用场景不同,有几种解决方案:

  • 终端环境
    主流终端都支持禁用字体连字:

    • Alacritty:在配置文件alacritty.yml中添加/修改:
      font:
        ligatures: false
      
    • iTerm2:打开「偏好设置 > 配置文件 > 文本」,取消勾选「启用字体连字」
    • Kitty:在kitty.conf中设置disable_ligatures all
  • Neovim环境

    • 若使用nvim-treesitter,可在配置中禁用连字:
      require('nvim-treesitter.configs').setup({
        ligatures = {
          enable = false,
        }
      })
      
    • 直接通过Vimscript设置:
      set noligatures
      
      (部分版本需配合终端已禁用连字生效)
  • 字体修改(终极方案)
    如果终端/编辑器不支持禁用连字,可以用FontForge等字体编辑工具打开Space Mono字体,找到并删除</对应的连字规则,重新导出字体后安装使用。


内容的提问来源于stack exchange,提问作者Sam Johnson

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 00:32:12