• ベストアンサー

Emacsで日本語の設定ができなくなりました

MySQLの勉強をするため、Linux(vine linux4.2)を導入し、mysql-5.0.27インストールしました。MySQLの文字セットがUTF-8なので、EmacsのUTF8化について調べていたら、Emacs22は標準でUTF-8であることを知り、一旦元々入っていたEmacs21.4関係のものを全部消しました(rpm -eでの削除と残っていた.emacs等も)。そしてEmacs22(22.0.50.0.20060403vl2.i386.rpm)をインストールしました。Emacs22は立ち上がるのですが、<zenkaku-hankaku>is undefienedと表示されて、日本語が入力できません(Emacs21では大丈夫でした)。 どこを設定すればよいのでしょうか?.emacsを消したのはまずかったでしょうか?

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

  • ベストアンサー
  • astronaut
  • ベストアンサー率58% (303/516)
回答No.4

Vine-4.2 に VinePlusのemacs22-22.0.50.0.20060403vl2.i386.rpmを導入してみましたが、特段何の設定もせずに、ごく普通に日本語入力ができました。さすが日本語環境のVineです。 ちなみに、Ctrl+Space, Ctrl+\, 半角/全角 いずれも有効でした。 結局、設定ファイルを削除したことが問題だったということですから、 1.もし etcskel をアップデートしていたら、標準の etcskel に戻す $ rpm -Uvh --oldpackage ftp://ftp.riken.go.jp/Linux/vine/Vine-4.2/updates/RPMS/i386/etcskel-3.4.4-0vl1.noarch.rpm 2./etc/skel から emacs 関係の設定ファイルを全て ~/ にコピー $ cp /etc/skel/.emacs* ~/ という手順で直るはずです。

love_vb
質問者

お礼

再び回答していただきまして、また実践していただきまして、どうもありがとうございました。 前回の回答を参考にして一番最新のetcskelは/etcskel-3.4.6-0vl5.noarch.rpmを入れていたのですが、それを今回の回答の通り/etcskel-3.4.4-0vl1.noarch.rpmに替えることで日本語が使えるようになりました。 どうもありがとうございました!

その他の回答 (4)

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.5

下記1点訂正 Ctrl+Space → Shift+Space

love_vb
質問者

お礼

訂正ありがとうございます。

  • YkazubonY
  • ベストアンサー率30% (26/86)
回答No.3

Emacsの日本語化rpmが入っていないのでは? Emacsの日本語化rpmは直接仮名漢字変換サーバーとやりとりするから、Anthnyに対応しているかどうか調べる必要有り。 また、Emacsの仮名漢字変換の起動は、昔はcntrl+SPACEだったけど。

love_vb
質問者

お礼

色々調べていて、AnthyはEmacs22では動作がおかしいというような文も見たのですが、Emacs21で使えていたということで、.emacs.elの中身を見てもいけるはずと思っていたのです。 今回、結果的には、回答番号4の方の方法でうまくいきました(etcskel3.4.4-Ovl1.noarch.rpmを入れなおす方法)。 アドバイスありがとうございました。

  • astronaut
  • ベストアンサー率58% (303/516)
回答No.2

/etc/skel 以下にデフォルトの設定ファイルがあるはずです。 それでうまくいかなければ、VineSeed の最新の etcskelパッケージからコピーしてみるのもアリかも。

参考URL:
ftp://ftp.riken.go.jp/Linux/vine/VineSeed/i386/RPMS.main
love_vb
質問者

お礼

うまくいきました。 どうもありがとうございました!

love_vb
質問者

補足

回答ありがとうございます。 早速最新のetcskelパッケージを入れて、~/にコピーしてみました。 すると、Emacsのメニューバーが英語だったのが日本語表示に変わりました。 しかし未だ日本語入力ができません(普段、日本語入力するときはAnthyという設定バーが見えるのですが)。 設定ファイル(Emacs20/21用と書かれています)のglobal-set-keyの所もおかしくないように思います。 システムを入れ直したほうがいいのでしょうか? もう少しヒントをもらえるとうれしいです。

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

え? ~/.emacs も消しちゃったの? それはちょっと早計だなぁ. せめて名前を変えるくらいにしとかないと.... <zenkaku-hankaku>is undefiened と出るということは, 「日本語入力しようとして[全角/半角]キーを押した」ということですよね. ところが, 今の設定ではそのキーに対応する関数が登録されていないということ... かな. だから, 使いたいものに合わせて define-key かなんかで登録しないとだめ.

love_vb
質問者

お礼

新しく入れたetcskel(/etcskel-3.4.6-0vl5.noarch.rpm)をetcskel(/etcskel-3.4.4-0vl1.noarch.rpm)に替えることで日本語が使えるようになりました。 ありがとうございました。

love_vb
質問者

補足

回答ありがとうございます。 ~/.emacs.elは.emacs.my.elなど別名にして置いておくべきなんですね。 以前のバージョンのEmacsでは「全角/半角」キーは使えていて(Shift+SPACEも使えていました)、あらためて入れた/etc/skelからコピーした.emacs.elにもglobal-set-keyに登録されているように思うのですが(<zenkaku-hankaku>と<shift+space>はdefine-keyではなくて、global-set-keyになっているのがおかしいのでしょうか)、未だに未定義ですとのエラーがでます。どのように設定すればよいのかもう少しヒントをもらえますでしょうか? よろしくお願いします。

関連するQ&A

専門家に質問してみよう