init.el マッチョ化進行中

# はじめに

Emacs が「骨」とすれば，追加する各パッケージは「肉」でしょうか．
そして，init.el はカスタマイズ項目の集合体．自分の好みで日々「鍛える」という点で，まぁ，ボディビルみたいなもんですね．

現在の筋トレメニューは，[ここ](https://pxaka.tokyo/wiki/doku.php?id=emacs:init.el) もしくは [こちら](https://dl.dropboxusercontent.com/u/2440/emacs/init.html)．

# 2015年に導入したパッケージ

本年私が追加した筋トレ対象は，次の通りでした．[gitで管理](https://github.com/takaxp/emacs.d)していると，こういう時に楽をできます．

- [helm](https://github.com/emacs-helm/helm)
- [helm-migemo](https://github.com/emacs-jp/helm-migemo)
- [helm-swoop](https://github.com/ShingoFukuyama/helm-swoop)
- [helm-bm](https://github.com/yasuyk/helm-bm)
- [hydra](https://github.com/abo-abo/hydra)
- [bm](https://github.com/joodland/bm)
- [describe-timer](http://masutaka.net/chalow/2009-12-05-1.html)
- [flycheck](https://github.com/flycheck/flycheck)
- [js2-mode](https://github.com/mooz/js2-mode)
- [json-mode](https://github.com/joshwnj/json-mode)
- [yaml-mode](https://github.com/yoshiki/yaml-mode)
- [ob-http](https://github.com/zweifisch/ob-http)
- [volatile-highlights](https://github.com/k-talo/volatile-highlights.el)
- [osx-dictionary](https://github.com/xuchunyang/osx-dictionary.el)
- [quickrun](https://github.com/syohex/emacs-quickrun)

大きな変化は，Helm に移行したことでしょうか．Anything 同様とても便利です．また，helm-swoopが秀逸です．一方，hydra はまだ使いこなせていません．トレーニング不足です．

volatile-highlights を追加したことで，コピペ領域を強調できるようになったのが嬉しいです．せっかくなので，ペースト後に徐々に背景色に変化するようにしています．殺伐としたEmacsバッファに「色と動き」が入るので結構気に入っています．

↓デモ動画です
[![FUWATTO EFFECT](http://img.youtube.com/vi/5ulBQVZz1gY/0.jpg)](http://www.youtube.com/watch?v=5ulBQVZz1gY)

## ふわっとエフェクト

ペースト領域の色を徐々に変化させて，エフェクトがふわっと消えるようにできます．

```el
(when (eval-after-autoload-if-found
       '(volatile-highlights-mode) "volatile-highlights" nil t nil
       '((set-face-attribute
          'vhl/default-face nil :foreground "#FF3333" :background "#FFCDCD")
         (volatile-highlights-mode t)

         ;; ふわっとエフェクトの追加（ペースト時の色 => カーソル色 => 本来色）
         (defun my:vhl-change-color ()
           (let
               ((next 0.2)
                (reset 0.5)
                (colors '("#F8D3D7" "#F2DAE1" "#EBE0EB" "#E5E7F5" "#DEEDFF")))
             (dolist (color colors)
               (run-at-time next nil
                            'set-face-attribute
                            'vhl/default-face
                            nil :foreground "#FF3333" :background color)
               (setq next (+ 0.05 next)))
             (run-at-time reset nil 'vhl/clear-all))
           (set-face-attribute 'vhl/default-face
                               nil :foreground "#FF3333"
                               :background "#FFCDCD"))

         (defun my:yank (&optional ARG)
           (interactive)
           (yank ARG)
           (my:vhl-change-color))
         (global-set-key (kbd "M-v") 'my:yank)
         (global-set-key (kbd "C-y") 'my:yank)

         (with-eval-after-load "org"
           (define-key org-mode-map (kbd "C-y")
             '(lambda () (interactive)
                (org-yank)
                (my:vhl-change-color))))))

  (add-hook 'org-mode-hook 'volatile-highlights-mode)
  (add-hook 'emacs-lisp-mode-hook 'volatile-highlights-mode))
```

前出のパッケージを導入した影もあって，次のパッケージは卒業しました．

- point-undo
- anything
- wakatime

# おわりに

本カレンダーの趣旨にしたがい，init.el を自慢しました．もっともっと鍛えて来年もマッチョなボディを目指します．