emacs のあれこれメモ

UNIX では vi、Windows では emacs という人は多いのではないでしょうか? で、そんな vi 派の私のための emacs 入門です。

TAB の幅

vi を普段使っている人の TAB の長さは、普通 8 だとおもいますが、 emacs だと、そうでもないので emacs で編集しようとすると困ります。で、

(add-hook 'perl-mode-hook
          '(lambda ()
                   (setq tab-width 8)
                   (setq perl-indent-level 8)
                   (setq perl-continued-statement-offset 8)))
とか、.emacs に書いておけば TAB の長さが 8 になります。 tab-width だけ設定してもだめなところがミソ。

emacs21 のメニューバー、ツールバー

VAIO PCG-C1 などの縦の短い画面では行数の確保が大変なので、 emacs21 から導入されたツールバーなどは行数を圧迫するので 消したい。

(menu-bar-mode 0)
(tool-bar-mode 0)

もしくは、

(setq initial-frame-alist
      '((top . 0)
        (left . 0)
        (width . 80)
        (height . 34)
        (tool-bar-lines . 0)
        (menu-bar-lines . 0)
        ))

emacsclient

emacs は立ち上げるのが遲いし、メモリも一杯食うので vi みたいに 何個もプロセスは立ち上げられない。しかしコマンドラインから ファイルを指定して、それを編集したいときに emacs から C-x C-f とかはかったるい。そこで便利なのが emacsclient。まずは .emacs にでも

(add-hook 'after-init-hook 'server-start)

と書いて server を立ち上げておいて、編集したいファイルを

$ emacsclient <ファイル名>

というコマンドで指定すると、emacs の buffer 内に編集したい ファイルが load される。ファイルを編集し終ったら、

C-x #

で終了すること。

dired

dired という便利なものが emacs にはある。それで ange-ftp という 便利なものもあるらしい。 M-x dired で dired を立ちあげて、/username@hostname:/directory/ で ディレクトリを指定すると、便利。

mew on NT Emacs

普通にインストールすればよいが、mw32script.el というものが 必要らしい。Meadow という Emacs に入っているらしいが、 何十メガもあるのでとってこれない。このサイトの Files に置いている のでそれをとってくる。

たかな版たまごでフェンス内での一文字消去(mule-19.34)

fence mode (日本語入力中)に \C-h で前一文字消去にするには、

(define-key fence-mode-map "\C-h" 'fence-backward-delete-char)
を ~/.emacs に設定すればよい、と書いてあるがなぜかうまくいかない。 どうも実際に fence-mode-map の作られるタイミングが、~/.emacs より あとらしい。そのため
(its:select-mode "roma-kana")
も必要になってくる。しかしこれだと日本語入力用の fence-mode-map にしか \C-h が効いてこないので、私は
(add-hook 'its:select-mode-hook
    (lambda ()
     (define-key fence-mode-map "\C-h" 'fence-backward-delete-char)))
という設定にたのだが、なぜか一発目の fence mode では失敗する。で結局、
(its:select-mode "roma-kana")
(add-hook 'its:select-mode-hook
    (lambda ()
     (define-key fence-mode-map "\C-h" 'fence-backward-delete-char)))
という設定に落ち着いた。世の中にはもっとうまい設定があると 思うのだけれど...

Wanderlust

日本語の添付ファイル名

flim の替わりに、limit というものをつかうらしい。 ftp://ftp.fan.gr.jp/pub/elisp/limit より入手。 Windows 2000 + Meadow で試してみた。確かに うまく日本語の添付ファイルが表示されるのだが、 保存も実行もうまくいかない。というわけで、保留。

コマンド

Valid HTML 4.01! Valid CSS!