プロが教える店舗&オフィスのセキュリティ対策術

ホストにあるUNIXに接続して、
プログラムを書いたりしたいのですが、
viエディタを使ってすると日本語入力がうまくいきません。

telnetで接続して、
viエディタを起動させて、
日本語を入力すると文字化けを起こしてしまいます。
receiveの設定もtransmitのコード設定も間違っていないはずなんですが、
ほかに原因がわかりません。

muleを使うっていう方法もあるのですが、
個人的にviが使いやすいので、なんとかviでやりたいです。

ほかに原因が分かる方教えてください。

A 回答 (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
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

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

ありがとうございました。

お礼日時:2001/06/18 09:34

Sun 側の端末設定はきちんと行えていますか?


vi 実行前に一度、次のコマンドを実行してみて下さい。

stty -istrip
    • good
    • 0

私も以前、Viで日本語入力がうまく出来ると便利と思って色々やったんですけど、純正?Viは、文字を1バイトで扱うので、基本的にだめみたいです。


だから、日本語のテキストファイルを呼び出して、どっか適当なところで一文字削除するとその後ろ全部おかしくなっちゃいます。二つ削除だと大丈夫なようですが、表示が化けたままだったりすることがありました。また、その文字コードによっては、改行コードのところから変になっちゃったりします。

だから、どうしてもViで日本語をやりたければ(操作法になれているとか)jvimなどのViのクローンから探すよりないでしょう。
    • good
    • 0

あと、環境変数 LANGの値も。



$ echo $LANG
の結果を見せてください。ただの空行だったり、
C
の場合、それを日本語を使えるように設定してやると直ったりします。
(それがまた環境に応じてja_JP.ujisだったり別だったりいろいろですけどね)

# a-kumaさんの補足要求で十分かと思いましたが最近のは
# LANG=Cじゃなくてもメッセージは「command not found」だったり
# することがあるので蛇足ながら。
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/06/18 09:37

以前にも同様の質問が有りましたが、結論は日本語対応のviエディタを使っていなかったと言う落ちでした。


本来viは日本語に対応していません。日本語が使える場合はjvimなどにリンクされている場合です。

それから「UNIX」と言う名称のOSは現在存在しないので、実際のOS名・バージョン(例えばSolaris8等)を記述した方が正確な回答が得られやすいと思います。
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/06/18 09:35

状況が良く分からないので、まず、vi の問題なのか、vi 以外の問題なのかを


はっきりさせましょう。

vi 以外では日本語が使えているのでしょうか?
例えば、

% aaaaa ← ありえないコマンドを打ってみて

「コマンドが見つからんよ」というシェルのメッセージが日本語になっているか?

% echo あああ ← 日本語を扱うコマンドを使って

「あああ」ときちんと表示されるか?

両方がクリアされていれば、vi の問題である可能性が高いですね。
ただ、

> muleを使うっていう方法もあるのですが、

とあるので、mule では日本語を使えるのだ、と言うことのような気もするので、
vi の問題である可能性が高いような気がします。

unix の種類もよくわからないので、はっきりしたことは言えませんが、その
unix についている vi 自体が日本語を扱えない可能性があります。

とりあえずは、vi 自体の問題かどうかをはっきりさせることと、unix と vi の
バージョンを調べることで、もう少し詳しい回答が得られるかも。

unix のバージョンは uname -a の出力を、vi のバージョンは、vi を立ち上げて
:ver と打った出力を、ここに書き込んでみてください。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

説明不足ですみませんでした。
unixのバージョンはSunOS vega 4.1.4 1 sum4mで、
viのバージョンはSVR3.1でした。

あと、muleではきちんと日本語が入力できます。
viは日本語がenterキーを押すと文字化けを起こすのです。

% echo あああ と入力すると’あああ’の部分が消えてしまいます。

すみませんが何か原因が以上の説明でわかるときは回答をください。
お願いします。

お礼日時:2001/06/17 02:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!