Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
  • ベストアンサー

viでの日本語入力

ホストにあるUNIXに接続して、 プログラムを書いたりしたいのですが、 viエディタを使ってすると日本語入力がうまくいきません。 telnetで接続して、 viエディタを起動させて、 日本語を入力すると文字化けを起こしてしまいます。 receiveの設定もtransmitのコード設定も間違っていないはずなんですが、 ほかに原因がわかりません。 muleを使うっていう方法もあるのですが、 個人的にviが使いやすいので、なんとかviでやりたいです。 ほかに原因が分かる方教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.6

> unixのバージョンはSunOS vega 4.1.4 1 sum4mで、 > viのバージョンはSVR3.1でした。 ちょっと古めなんですね。vi 自体が日本語を扱えない可能性あり。 でも、 > % echo あああ と入力すると’あああ’の部分が消えてしまいます。 とあるので、vi だけの問題ではないかも。 環境変数 LANG と TERM がきちんとなっているか確認してみてください。 あと、stty の設定があっているかどうかも。私は普段このあたりで あまり苦労したことがないので詳しくないのですが、istrip が OFF に なっているかどうか、のあたり。 でも、入力した日本語が消えてしまうのですよね。istrip を間違って いたら、化けるだけだしなあ… 他の方が回答されているように、vi 自体が日本語を扱えないと思うので、 とりあえずは日本語が扱える vi のクローン jvim や nvi を導入して おきましょう。 # あまり回答になってなくて、申し訳ない m(_ _)m

yakumo1010
質問者

お礼

回答ありがとうございます。 本当に助かりました。 とりあえず、viのクローンを入れてやってみます。 sttyの方も調べてみます。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (5)

  • e101tre
  • ベストアンサー率38% (7/18)
回答No.5

Sun 側の端末設定はきちんと行えていますか? vi 実行前に一度、次のコマンドを実行してみて下さい。 stty -istrip

すると、全ての回答が全文表示されます。
  • myeyesonly
  • ベストアンサー率36% (3818/10368)
回答No.4

私も以前、Viで日本語入力がうまく出来ると便利と思って色々やったんですけど、純正?Viは、文字を1バイトで扱うので、基本的にだめみたいです。 だから、日本語のテキストファイルを呼び出して、どっか適当なところで一文字削除するとその後ろ全部おかしくなっちゃいます。二つ削除だと大丈夫なようですが、表示が化けたままだったりすることがありました。また、その文字コードによっては、改行コードのところから変になっちゃったりします。 だから、どうしてもViで日本語をやりたければ(操作法になれているとか)jvimなどのViのクローンから探すよりないでしょう。

すると、全ての回答が全文表示されます。
回答No.3

あと、環境変数 LANGの値も。 $ echo $LANG の結果を見せてください。ただの空行だったり、 C の場合、それを日本語を使えるように設定してやると直ったりします。 (それがまた環境に応じてja_JP.ujisだったり別だったりいろいろですけどね) # a-kumaさんの補足要求で十分かと思いましたが最近のは # LANG=Cじゃなくてもメッセージは「command not found」だったり # することがあるので蛇足ながら。

yakumo1010
質問者

お礼

回答ありがとうございます。 本当に助かりました。

すると、全ての回答が全文表示されます。
  • marine
  • ベストアンサー率34% (23/66)
回答No.2

以前にも同様の質問が有りましたが、結論は日本語対応のviエディタを使っていなかったと言う落ちでした。 本来viは日本語に対応していません。日本語が使える場合はjvimなどにリンクされている場合です。 それから「UNIX」と言う名称のOSは現在存在しないので、実際のOS名・バージョン(例えばSolaris8等)を記述した方が正確な回答が得られやすいと思います。

yakumo1010
質問者

お礼

回答ありがとうございました。 本当に助かりました。

すると、全ての回答が全文表示されます。
  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

状況が良く分からないので、まず、vi の問題なのか、vi 以外の問題なのかを はっきりさせましょう。 vi 以外では日本語が使えているのでしょうか? 例えば、 % aaaaa ← ありえないコマンドを打ってみて 「コマンドが見つからんよ」というシェルのメッセージが日本語になっているか? % echo あああ ← 日本語を扱うコマンドを使って 「あああ」ときちんと表示されるか? 両方がクリアされていれば、vi の問題である可能性が高いですね。 ただ、 > muleを使うっていう方法もあるのですが、 とあるので、mule では日本語を使えるのだ、と言うことのような気もするので、 vi の問題である可能性が高いような気がします。 unix の種類もよくわからないので、はっきりしたことは言えませんが、その unix についている vi 自体が日本語を扱えない可能性があります。 とりあえずは、vi 自体の問題かどうかをはっきりさせることと、unix と vi の バージョンを調べることで、もう少し詳しい回答が得られるかも。 unix のバージョンは uname -a の出力を、vi のバージョンは、vi を立ち上げて :ver と打った出力を、ここに書き込んでみてください。

yakumo1010
質問者

お礼

回答ありがとうございます。 説明不足ですみませんでした。 unixのバージョンはSunOS vega 4.1.4 1 sum4mで、 viのバージョンはSVR3.1でした。 あと、muleではきちんと日本語が入力できます。 viは日本語がenterキーを押すと文字化けを起こすのです。 % echo あああ と入力すると’あああ’の部分が消えてしまいます。 すみませんが何か原因が以上の説明でわかるときは回答をください。 お願いします。

すると、全ての回答が全文表示されます。

関連するQ&A