.emacs で Mule を快適に



.emacs とは何か

ホームディレクトリ上の ".emacs" というのは、Mule の設定ファイルです。(ない場合には、自分で作ります。) なぜこんなファイル名かというと、Mule の親戚であり元祖である "Emacs" というエディタの名前に由来しているからです。
このファイルは "Emacs Lisp" という言語で書かれており、いくらでも複雑な設定をすることができますが、その言語に触れているとそれだけで一冊本が書けてしまうくらいのものなので、今回は「おまじない」だと思ってこのファイルを編集してみます。

このファイルの中では、";" (セミコロン) の後から行末まではコメントとみなされるので、どこで何の設定をしたのかをメモしておくためには、コメントにしてしまうのが便利です。

また、「M-x load-file → Return キーを押す → 適用したい設定ファイルを選ぶ」で、設定ファイルを再度読み込むことができます。

"nn" で "ん" を出す

Wnn で日本語入力をしているときに、「ん + な行の字」を出すのはちょっと面倒です。よくある日本語変換プログラムなどでは "nn" で "ん" が出せますが、Wnn はちょっと勝手が違います。たとえば「そうだんいん」と入れたくて "soudannin" と入れると、「そうだんにん」になってしまいます。相談員と相談人では全然逆ですね。「相談員」と入れたければ、"soudan'in" もしくは "soudaNin" となってしまいます。しかしこれが面倒だったりなじめなかったり、という場合には、"nn" で "ん" を出すよう設定することもできます。.~/.emacs に

(setq enable-double-n-syntax t)

と入れてください。すると、"nn" が "ん" になるようになります。

色をつけてみる

Mule は白地に黒、だけではありません。たとえば黒字にしろ、カーソルは緑、といった、ちょっと昔の計算機風の色合いにしたり、目に優しいクリーム色の背景に濃い緑の字……などと、色を変えることができます。まず、"C-h (Control を押しながらa) a" と入れてから "color" と入れてみましょう。(これは、キーワードに合致する M-x コマンドを探すものです) すると

  • list-colors-display
  • set-background-color
  • set-foreground-color
  • set-cursor-color
  • などのコマンドが発見できます。"set-*-color" というのは、foreground (文字など) や backbround (背景) 、cursor (カーソル) の色などを変更するもののようですね。ためしに "M-x (Meta を押しながら x) set-foreground-color" を実行し、"navy" などと入れると、文字が紺色に変化します。なお、使える色一覧は "M-x list-colors-display" を実行すると、色見本がずらっと表示されるので、そこにある色の名前を入れてください。気に入った色の組みあわせができたら、.emacs に次のような行を追加します。

    (set-background-color "色名")
    (set-foreground-color "色名")
    (set-cursor-color "色名")

    たとえば、こんな感じにすることもできます。ちょっと雰囲気が変わりますね。

    色をかえてみた図。

    文字コード

    編集しているファイルの文字コードは "M-x set-file-coding-system" または "C-x C-k f" で変更することができます。(どの文字コードか訊かれたら Tab を押せば文字コードの一覧が表示されます。) しかし、自分はどうしても Shift-JIS で書くことが多い、とか、EUC で統一したい、などという場合にはデフォルトの文字コードを .emacs で設定しておくと便利です。

    (set-default-file-coding-system [文字コード名])

    です。日本語では、たとえば JIS (ISO-2022-JP) なら "(set-default-file-coding-system *iso-2022-jp*)"、Shift-JIS なら "(set-default-file-coding-system *sjis*)"、EUC-JP なら "(set-default-file-coding-system *euc-japan*)" となります。

    スタートアップメッセージを表示しないようにする

    デフォルトでは、ログインしたあとで下のようなスタートアップメッセージが出てくるでしょう。

    スタートアップメッセージ

    これが出ないようにすることもできます。下記の一行で、このメッセージが出なくなります。

    (setq inhibit-startup-message t)

    ファイルの末尾でカーソルを下に移動しようとしたとき、新しい行を作らなくする

    通常、ファイルの末尾でさらに下にカーソルを移動しようとすると、新しい行が生成されます。どんどんカーソルを下に動かすと、どんどんファイルが延びてしまいます。これが嫌な場合には、以下のような行を .emacs に書き足します。

    (setq next-line-add-newlines nil)

    カラフルにプログラミング - hilit19 -

    "hilit19" というツールを使うと、C や C++、Perl、TeX、Lisp などのためのモード (C-mode など) で編集を行っているとき、属性ごとに色をつけて、ソースを見やすくすることができます。

    (cond (window-system
    (load "hilit19")
    ))

    のように表記します。すると、たとえば .emacs (Emacs-Lisp mode で編集) を編集していると、画面は、下の画像のようになります。(cond(window-system ... )) という部分は、"X Window System だった場合に" ということを表しているので、ただ (load "hilit19") とだけ書くとリモートから ssh などでログインし、Mule を使おうとすると、コンソール上でうまく使えなくなります。

    色がつきます。

    小物集 - 時計・行・列を表示 -

    ここではちょっとした小物を紹介します。まずは、下部に現在の時刻が表示されるようにする方法です。時間を気にしながら Mule を使う方におすすめ。

    (display-time)

    で、下の画像のように時計が表示されます。

    時計が表示されている

    現在のカーソルの行と列を表示すると何かと便利な場合もあります。行番号は既に表示されるようになっているので、列番号を表示します。下記の一行でOKです。

    (column-number-mode t)

    行番号が表示されます。

    Mew 関係

    Mew でメールを送るときに「自分に Cc を送ってメールを残すようにしたい」「返信は他のアドレスにしてほしいので、Reply-To フィールドがほしい」「From に自分の名前を入れたい」などと思ったら、それも .emacs の編集で実現できます。

    なにも指定しないと……。

    下のような設定をすれば、"Reply-to" "Cc" "From" などのフィールドが、メール作成時に自動的に追加されるようになります。(";"以降は行末までコメントです。)

    ;; From フィールドを設定したいとき
    (setq mew-from "[名前] <[メールアドレス]>") ;; メールアドレスのみでも可
    ;; Reply-to フィールドを設定したいとき (送信元以外のアドレスに返事がほしいとき)
    (setq mew-reply-to "[名前] <[メールアドレス]>") ;; メールアドレスのみでも可
    (setq mew-cc "[メールアドレス]")

    たとえば、

    (setq mew-from "TODAI Taro <g999999@ecc.u-tokyo.ac.jp>")
    (setq mew-cc "g999999")

    のように .emacs に書いておくと、Mew で新規メールを書くとき、ヘッダが下のようになります。

    CcとFromが表示されている。Reply-toも。

    さらなる設定

    上で示した設定は、ほんの一例です。次回には「Mule のキーバインドを変える」で、いよいよ本格的な Mule カスタマイズの道に踏み込んでいきます。もっと極めた設定をしたい方は、検索エンジンなどで ".emacs" などと入れて検索してみてください。ご自分の .emacs を他の人の参考のために公開されている方も多くいらっしゃいますので、参考になります。
    また、相談員 OB の飯嶋浩光さんのサイト (つながらないときはこちら) では、かなり高度なカスタマイズが紹介されています。ここまでカスタマイズしてしまうと、もう他人の書いた .emacs では作業できなくなってしまうくらい……。

    Mule は自由自在なエディタです。ECC の UNIX で作業する場合には紙と鉛筆となってくれる Mule、自分好みに設定して心地よく使いたいものです。

    次回予告

    来週の技は「Mule のキーバインドを変える」です。よく使う M-x コマンドにキーを割り当てて、さらに快適にカスタマイズすることができます。
    次回もおたのしみに!


    Last modified: Friday, 07-Nov-2003 19:09:14 JST
    www-sodan-admin{atmark}sodan.ecc.u-tokyo.ac.jp
    筝荐≪鴻泣ゃ吾≪
    <若梧篁茵c障
    Sodan
    © 1998-2009, ECCS Tutors