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"に設定しようとしましたが、役に立ちませんでした。私は何を見逃していますか?
私が知っている限り、私はUTF-8をサポートする「uxterm」がありました。
答え1
正しいロケールを使用すると、vim
正しい文字を表示できますが、nvi
表示できませんvi
。
$ LC_CTYPE=hu_HU.UTF-8 vim test.txt
または、
$ export LC_CTYPE=hu_HU.UTF-8
$ vim test.txt
実際にはロケール(vim
/in nvi
)でも動作します。en_US.UTF-8
OpenBSDはvi
UTF-8をサポートしていません。
これは、基本システムvi
とポートを持つ現在のOpenBSD(6.3より前)でvim
テストされていますnvi
。図は、vim-8.0.1255p0-no_x11
WindowsホストのPuTTYで実行されているOpenBSDポート()のVimを示していますが、標準です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
および/または変数をエクスポートするLC_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
。
答え2
OpenBSDバージョンのviはまだUTF-8をサポートしていません。 Vimは動作しますが、UTF-8と正しいロケールをサポートする端末が必要です。 OpenBSDを含むロケールの数を覚えていないので、en_US.UTF-8
asを試してみましたLC_CTYPE
。