使ったことがないEmacsのマクロを使ってみる

naoyaさんが資料の中で自分の使っているEmacsのマクロを公開していた。

naoyaのはてなダイアリー - カンファレンスの資料

使ったことのないマクロがあったので使ってみた。
使った結果、まだ使い慣れないものもあるけど幸せになれる予感。

以下にインストールメモ。



●mcomplete.el

emacsで「M-x hoge」とやったときに、補完候補を出してくれるマクロ。
これが無いと、「M-x なんとか Return」とやったときに、
無限の補完候補(大げさ)を見て暗くなる。

インストールした。

mcomplete.elを/usr/share/emacs/site-lispあたりに放り込む。

.emacsに追記

Meadow/Emacs memo: ミニバッファの入力/補完機能とヒストリ
(require
'mcomplete) (turn-on-mcomplete-mode)


あとは例えば、「M-x p」とかやると良い感じに。



●mcomplete-history.el

上記のmcomplete.elの補完をヒストリのみから行うことができる。
mcomplete-history.elが邪魔なときはC-nで Prefix に切り替える。

naoyaさんの資料に書いていないけどインストールした。めちゃくちゃ便利。

mcomplete-history.elを/usr/share/emacs/site-lispあたりに放り込む。

.emacsに追記。mcomplete.elの設定はコメントアウトした。

Meadow/Emacs memo: ミニバッファの入力/補完機能とヒストリ
;(require 'mcomplete)
;(turn-on-mcomplete-mode)

(require 'mcomplete)
(require 'cl)
(load "mcomplete-history")
(turn-on-mcomplete-mode)


あとは例えば、「M-x p」とかやると良い感じに。
ヒストリ以外の候補を表示したいときは「C-n」!!



●session.el

emacsで前回編集していたファイルを開き、
カーソル位置を前回の終了位置へ移動してくれるマクロ。素敵。

Session Management for Emacsから、2.2aのtarファイルをダウンロードして、
解凍するとsession.elが入っているので、
それを/usr/share/emacs/site-lisp辺りに放り込む。

そんで、.emacsに以下の表記を追加。

横着プログラミング 第3回: 履歴マニア
(require 'session nil t)
(add-hook 'after-init-hook 'session-initialize)


さらに、直後に以下も追記する。

半隠遁日記 - session.elで前回《セーブ》したときではなく《閉じた》ときの位置にカーソルを復帰する
(setq session-undo-check -1)


emacsを起動して、C-x C-f の後、M-p、M-nとかカーソル上下すると、
emoacsで開いたファイルのヒストリーが出る。
ヒストリーから任意のファイルを選択すると、前回の終了時の位置に戻る。

kill-ringも保存されている。



●minibuf-isearch

履歴をミニバッファでインクリメンタル検索できるマクロ。

インストールした。

minibuf-isearchにあるminibuf-isearch.elを/usr/share/emacs/site-lispあたりに放り込む。

.emacsに追記
(require 'minibuf-isearch)


例えば、emacsを開いてC-x C-fして、直後にC-rすると、
過去に開いたのファイルの名前を検索できるようになる。幸せ。


●kill-summary.el

大城尚紀さんのサイトからkill-summary.elをダウンロードして、/usr/share/emacs/site-lispあたりに放り込む。

.emacsに追記

ひげぽん OSとか作っちゃうかMona- - 本で読んだけど記憶に残らず使ってないんだけど(ry
(autoload 'kill-summary "kill-summary" nil t)
(define-key global-map "\ey" 'kill-summary)


適当にC-kしまくって、M-yするとkill-summary.elのすごさがわかる。



iswitchb.elとelscreen.elとdmacro.elは使っている。
なので、今回は省略。

この中ではsession.elが一番即効性があった。

投稿者:としのり  日時:23:59:59 | コメント | トラックバック() |