使ったことがない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 | コメント | トラックバック() |

