hookify 20141216.1409(in MELPA)
Interactive commands to create temporary hooks

概要

hookify.el は、 バッファローカルなフック
手軽に設定するコマンドです。

ソースコードはめちゃくちゃ短いです。

実質10行程度なので仕組みが気になるならば、
M-x find-function hookifyで読んでみるとよいです。

使い方は M-x hookify を実行します。

そしてフック名とそこで実行するLisp式を入力します。

たったこれだけで一時的に使えるフックが定義できます。

フックを解除するにはC-u M-x hookify→フック名→Lisp式で、
そのLisp式のフックを解除します。

そのときはM-pで履歴からたどってください。

ある程度Emacsに慣れている人がステップアップするにはおすすめです。

インストール

パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。

(package-initialize)
(setq package-archives
      '(("gnu" . "http://elpa.gnu.org/packages/")
        ("melpa" . "http://melpa.org/packages/")
        ("org" . "http://orgmode.org/elpa/")))

初めてhookifyを使う方は
以下のコマンドを実行します。

M-x package-install hookify

アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。

M-x package-install package-utils (初めてアップグレードする場合のみ)
M-x package-utils-upgrade-by-name hookify

使用例

after-save-hook で保存後にシェルコマンドを実行したりとか、
post-command-hook でデバッグに利用するのが便利です。

ファイルを保存した後に nginxを再起動 するには、

M-x hookify after-save-hook RET
  (shell-command "systemctl restart nginx")

ファイルを保存した後に ~/backup.txt に バックアップ するには、

M-x hookify after-save-hook RET
  (copy-file (buffer-file-name) "~/backup.txt")


本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。