TeraTerm や PuTTY を利用して SSH 経由で Solaris 10 にログインする。
bash に対する日本語入出力は、>> Solaris 10 の設定: 日本語を入出力する << でできるようになったんだが、vi に対して日本語の入力が行えない。。。
そもそも論 Solaris 10 の vi は、多くの Linux ディストリビューションが実装している vim のような vi クローンではなく、UNIX 純正の vi であるため、日本語(マルチバイト)は入力できない。vim のインストールが必要だが、今回取り上げたい内容とは違うので、それはまた別の機会に。。。 ( ゚Д゚)マンドクセー
Solaris 10 の vim だけならまだしも、
Windows TeraTerm/PuTTY | → | Solaris 10 | → | Linux |
の環境下で Linux 上の vim でも同じ現象が発生する。
もちろん、
Windows TeraTerm/PuTTY | → | Linux |
のように間に Solaris 10 をはさまず、直接接続した場合には、Linux 上の vim に対して日本語入力が行える。
$ cat << EOF > テスト文書
> これは、テストのための文書です。
> てすと
> テスト
> 手栖斗
> EOF
$ cat テスト文書
これは、テストのための文書です。
てすと
テスト
手栖斗
$ vi テスト文書
これは、テストのための文書です。 てすと テスト 手栖斗 ← "これは、テストのための文書です。"を貼り付けたつもり、、、何も入力できない。 c^A&c^A^Yc^A( ← "てすと"を貼り付けたつもり、、、文字化けしてる。 ← "テスト"を貼り付けたつもり、、、何も入力できない。 f ^Kf f^W ← "手栖斗"を貼り付けたつもり、、、文字化けしてる。 |
※1 貼り付けは、マウスで選択して、右クリックでやった。
※2 Solaris 10 経由の Linux でも若干の文字化け具合は違うが、ほぼ同様の結果が得られた。
・・・そして、悩みに悩んで丸2日間・・・ (´ー`)チラネーヨ
- $HOME/.profile の”stty istrip”行をコメントアウト、または削除する。
$ vi $HOME/.profile
--- $HOME/.profile.old
+++ $HOME/.profile
@@ -3,7 +3,7 @@
# All rights reserved.
#
# ident "@(#)local.profile 1.10 01/06/23 SMI"
-stty istrip
+#stty istrip
PATH=/usr/bin:/usr/ucb:/etc:.
LANG=ja_JP.UTF-8
export PATH LANG
- $HOME/.profile を読み込みなおす。または、ログインしなおす。
$ source $HOME/.profile
とりあえずなら、”stty -istrip”を実行してもよい。
$ stty -istrip
“stty istrip”ってなんスか? (´ー`)チラネーヨ
- [-]istrip
- 入力文字の高位ビット(8 番目のビット)をクリアする。
これじゃ、英数文字しか表現できんわな。 ( ゚Д゚) ムホー