在使用 FVWM 默认安装 OpenBSD 6.2 之后,我在 FVWM GUI 上打开一个 xterm,使用普通用户创建一个测试文件:
$ echo 'árvíztűrő tükörfúrógép' > test.txt
$ echo 'ÁRVÍZTŰRŐ TÜKÖRFÚRÓGÉP' >> test.txt
$
$ cat test.txt
árvíztűrő tükörfúrógép
ÁRVÍZTŰRŐ TÜKÖRFÚRÓGÉP
$
$ locale
LANG=
LC_COLLATE="C"
LC_CTYPE="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_MESSAGES="C"
LC_ALL=
$
$ env | grep -i locale
XTERM_LOCALE=C
$
问题是,如果我用 vi 打开测试文件:
并且使用 vim,稍微好一点,但大写和一些小写仍然存在问题:
试图将所有语言环境变量设置为“hu_HU.UTF-8”,但没有帮助。我错过了什么?
回到过去,afaik,有“uxterm”来支持 UTF-8,但现在,它看起来不再在 OpenBSD 中了。
如果您确保使用正确的语言环境,那么您将能够在
vim
和 in 中看到正确的字符nvi
,但在vi
.或者,
事实上,它也适用于语言环境(在
vim
/中nvi
)en_US.UTF-8
。OpenBSDvi
不支持 UTF-8。这是在 OpenBSD-current (pre-6.3) 上使用基本系统
vi
以及端口vim
和nvi
端口进行测试的。vim-8.0.1255p0-no_x11
图片显示来自Windows 主机的 PuTTY 中的xterm
OpenBSD端口(语言环境hu_HU.UTF-8
在图片中。将语言环境设置为C
与您在问题中显示的结果相同。可以在您的
.xsession
文件中设置正确的语言环境(或者.xinitrc
,取决于您是从控制台登录xenodm
还是使用 X11 启动):startx
(或类似的东西)
请注意,
LC_ALL
and/orLC_CTYPE
变量需要导出。关于
uxterm
:uxterm
OpenBSD 6.0 发布后似乎已被删除。提交消息(来自 2016 年 10 月 24 日星期一 13:55:37)只是读取
但是,有一个称为
rxvt-unicode
提供该urxvt
实用程序的端口。OpenBSD 版本的 vi 还不支持 UTF-8。Vim 可以正常工作,但您需要一个支持 UTF-8 和正确语言环境的终端。我不记得有多少语言环境包含 OpenBSD,所以尝试使用
en_US.UTF-8
asLC_CTYPE
。