Hes*_*nov 6 openbsd vi unicode
在默认安装带有 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
$
Run Code Online (Sandbox Code Playgroud)
问题是,如果我用 vi 打开测试文件:
和vim,好一点,但仍然存在大写和一些小写的问题:
试图将所有语言环境变量设置为“hu_HU.UTF-8”,但没有帮助。我错过了什么?
回到过去,afaik,有“uxterm”来支持 UTF-8,但现在,它似乎不在 OpenBSD 中了。
如果您确保使用正确的区域设置,那么您将能够在vim和 中看到正确的字符nvi,但在 中看不到vi。
$ LC_CTYPE=hu_HU.UTF-8 vim test.txt
Run Code Online (Sandbox Code Playgroud)
或者,
$ export LC_CTYPE=hu_HU.UTF-8
$ vim test.txt
Run Code Online (Sandbox Code Playgroud)
事实上,它也适用于区域设置(在vim/中nvi) 。en_US.UTF-8OpenBSDvi不支持 UTF-8。
这是在当前 OpenBSD(6.3 之前)上通过基本系统vi以及vim端口进行测试的nvi。该图显示了来自 OpenBSD 端口 ( vim-8.0.1255p0-no_x11) 的 Vim 从 Windows 主机在 PuTTY 中运行,但我也使用标准在 OpenBSD 的 FVWM 中成功测试了它xterm。地点hu_HU.UTF-8如图所示。将区域设置设置为C给出与问题中显示的相同结果。
可以在您的文件中设置正确的区域设置.xsession(或.xinitrc,取决于您是否从控制台登录xenodm或启动 X11 ):startx
export LC_ALL=en_US.UTF-8
fwvm & wmpid=$!
xterm &
wait "$wmpid"
Run Code Online (Sandbox Code Playgroud)
(或类似的东西)
请注意,LC_ALL和/或LC_CTYPE变量需要导出。
关于uxterm:uxtermOpenBSD 6.0 发布后似乎已被删除。
提交消息(来自 2016 年 10 月 24 日星期一 13:55:37)只是这样写
Stop providing the uxterm and koi8rxterm shell scripts.
Requested by schwarze@ agreed naddy@
Run Code Online (Sandbox Code Playgroud)
然而,有一个名为的端口rxvt-unicode提供了该urxvt实用程序。