OpenBSD 6.2 上的 vi/vim 中的 UTF-8 重音不正確
在使用 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
.$ LC_CTYPE=hu_HU.UTF-8 vim test.txt
或者,
$ export LC_CTYPE=hu_HU.UTF-8 $ vim test.txt
事實上,它也適用於語言環境(在
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 中的OpenBSD 埠 ( ) 中的 Vim ,但我也在 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"
(或類似的東西)
請注意,
LC_ALL
and/orLC_CTYPE
變數需要導出。關於
uxterm
:uxterm
OpenBSD 6.0 發布後似乎已被刪除。送出消息(來自 2016 年 10 月 24 日星期一 13:55:37)只是讀取
Stop providing the uxterm and koi8rxterm shell scripts. Requested by schwarze@ agreed naddy@
但是,有一個稱為
rxvt-unicode
提供該urxvt
實用程序的埠。