Openbsd

OpenBSD 6.2 上的 vi/vim 中的 UTF-8 重音不正確

  • February 4, 2018

在使用 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/中nvien_US.UTF-8。OpenBSDvi不支持 UTF-8。

Vim 顯示文本文件

這是在 OpenBSD-current (pre-6.3) 上使用基本系統vi以及埠vimnvi埠進行測試的。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_ALLand/orLC_CTYPE變數需要導出。


關於uxtermuxtermOpenBSD 6.0 發布後似乎已被刪除。

送出消息(來自 2016 年 10 月 24 日星期一 13:55:37)只是讀取

Stop providing the uxterm and koi8rxterm shell scripts.
Requested by schwarze@ agreed naddy@

但是,有一個稱為rxvt-unicode提供該urxvt實用程序的埠。

引用自:https://unix.stackexchange.com/questions/413978