トップ > 興味のあること > コンピュータ > ソフトウェア

emacs

2010年2月17日

言わずとしれた、万能エディタ。 元々はTOPS20のTECOというマクロエディタに実装されたマクロらしい。 GNUで有名なRichard Matthew Stallmanが作ったそうである。 今でも、彼がGNU Emacsをメンテナンスしている。 emacs lispという強力な拡張言語を内蔵している。 というか、 emacs lispインタープリタでテキストエディタを実装した感がある。

個人的にはWanderlustというメーラーと、 howmというメモ書きシステムを重宝している。

1980年代初頭、 スーパーミニコンと呼ばれたVAX11/780でも実行すると管理者が飛んでくるくらい、 巨大で重たいソフトウェアだった。 それが今では手元のPCで簡単に実行できる。 つくづく、コンピュータの高速化というのは凄まじい。

2013年5月12日

emacsはずっとターミナルソフトからUnixにログインして使っていた。 しかし気がつくと、 本家のGnu emacsがWinodwsで動くようになっている。 さらにIMEを使えるパッチをあてたものがあったので、使ってみた。 バージョンは24で、ずいぶん変わっている。 一番大きいのは、 設定ファイルが~/.emacsから~/.emacs.d/init.elになったこと。 後は、標準でパッケージシステムが用意されたことだろうか。 細かい所では、Wanderlustでエラーがでたり、 howmが動かなかったり。 howmはベータ版で対応しているようだが。

init.elの基本的なところは

; C-h を backspace として使う。
(keyboard-translate ?\177 ?\^h)
(keyboard-translate ?\^h ?\177)
; indentに空白だけを使う
(setq-default indent-tabs-mode nil)
(menu-bar-mode 0)
(setq debug-on-error t)
(setq enable-double-n-syntax t)
(setq make-backup-files nil)
(set-language-environment "Japanese")
(set-default-coding-systems 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
;
; add package site
;
(require 'package)
(add-to-list 'package-archives
             '("melpa" . "http://melpa.milkbox.net/packages/") t)
(add-to-list 'package-archives
             '("marmalade" . "http://marmalade-repo.org/packages/"))
(package-initialize)

といったところ。 メニューバーを消すのも、以前は

(setq menu-bar-mode nil)

だったのでちょっと悩んでしまった。

これでemacs起動後にM-x list-packagesで、 パッケージの一覧が表示される。 インストールしたいパッケージにカーソルを合わせてiで印を付け、 選択し終わったらxでインストール開始。 個々のパッケージに必要な設定は、 init.elの(package-initialize)以降に記述する。

変な統合開発環境を使うより、 emacsのhtml-modeを使うほうが良いかもしれない。 統合開発環境はメモリを数百MB使うのに、 emacsは数十MBしか使わないのだ。