问题
英文字符也变成全角字符了,字母都占了两格了。
原因
终端程序为了适应中文环境 (LC_CTYPE=zh_CN.UTF-8),在选择字体时做出了一个“过于热情”的决定:它选择了一个“中日韩等宽字体 (CJK Mono Font)”来渲染所有字符。
在这种特殊的字体里,为了排版对齐,每个英文字母(a, b, c)被设计成和每个汉字(你, 好, 啊)占据完全相同的宽度,也就是两个标准字符格(全角)。
解决方案
明确告诉终端配置文件,优先使用英语字体显示字母和符号,只有遇到没有的字符时候再去系统寻找相关字体。
我用的是 kitty,这个是不会自动创建配置文件的。
先创建:
vim ~/.config/kitty/kitty.conf然后添加:
font_family MonaspaceMono Nerd Font # 我用的是monaspace,你可以选择你已经安装的英语字体如果想了解字体安装的请看 archlinux字体安装
最后关闭所有终端,再次打开就行了。