我最近开始使用Arch Linux并且刚刚安装电源线和鱼(版本 3.0.0)。在我的终端中,白蚁(版本 14),输入命令时,shell 提示符和我的光标位置之间有一个很大的(水平)空间,这很麻烦。
作为补充信息,我正在使用带有 bobthefish 主题的 OMF。当我第一次安装和使用该主题时,我没有注意到任何变化,所以我不知道它是否正常工作。但它确实说它是活动主题。
在我安装 Powerline 之前不是这样的。不幸的是,我找不到有关类似问题的其他讨论。
我以为这可能是我的字体的问题,因为我刚刚检查过,termite.config
文件中的字体是 Hack,大小为 9。但是,当我使用 Powerline 字体时,它无法在终端中正确呈现。我尝试了以下两种方法:
font = "Ubuntu\ Mono\ derivative\ Powerline" 11
还有这种方式:
font = Ubuntu Mono derivative Powerline 11
在终端配置文件中,但都无法正常显示。也许电力线字体不在正确的文件夹中。它们位于
~/.local/share/fonts
事实上,位于的其他字体/usr/share/fonts
也无法正确呈现。
答案1
当鱼和您的终端对特定字符的宽度不一致时,就会发生这种情况。
它几乎总是表情符号字符,因为随着 Unicode 标准的发展,许多表情符号代码点的宽度已经发生了变化。使问题复杂化的是神奇的代码点,例如乌+FE0F它们本身没有任何宽度但会影响前面的代码点。
最简单的解决方案是选择不同的字符。或者,您可以采用各种解决方法来更改 fish 和您的终端计算有问题的字符宽度的方式。
答案2
遇到了同样的问题,已通过重新配置语言环境修复。由于非 UTF / UTF 语言环境,宽度计算似乎也存在问题,请尝试运行:
dpkg-reconfigure locales
(我通过以下方式解决了这个问题Saltstack 配置)
答案3
正如他们上面所说,我添加set fish_emoji_width 2
到鱼配置文件,但问题仍然存在...就我而言,我在语言环境中配置了两种不同的语言:
$ locale
需要取消注释包含我的语言环境的行:(/etc/locale.gen
以 root 身份编辑)
要保存上一个文件运行中所做的更改:
$ sudo locale-gen