10年近くEmacsの設定を書いては整理し、書いては整理しを繰り返しているのですが
今回もその一環です。
いい加減AnythingからHelmへの乗り換えをしようと思ったので普段利用しているelispの整理をしていたのですが
もう殆ど全部のELPAとかにほとんどのパッケージがあったのでもうこれでいいじゃないかと考えたのが大きいですね。
あと、以下のようなコードでインストールしてない場合にはELPAとかから取ってくるという書き方ができる
と知ったのも大きいです。
(defvar installing-package-list '( ;; ここに使っているパッケージを書く。 markdown-mode open-junk-file auto-complete cl-lib) ) (let ((not-installed (loop for x in installing-package-list when (not (package-installed-p x)) collect x))) (when not-installed (package-refresh-contents) (dolist (pkg not-installed) (package-install pkg))))
以前はpackage.elでDLしてきたものもgithubで管理していたのですが、それをやめて上のリストを同期する方針に変更しました。
Helmについて
Helmに移行するのが今回の移行の目的だったのですが、HelmはAnythingと比較して動作が軽く感じます。
プロファイルとかとってないのでプラセボ効果かもしれません。
起動時間は短くなったようですが、それでも起動に0.8秒程度かかっています。
もう少し高速化できないか色々試してみようかと思いますが現状では気軽に終了するわけには行かない感じですね。
自分に必要最小限なパッケージ
記録がてらに今自分が必要そうだなぁと感じているパッケージを以下に列挙しておきます。
- markdown-mode
- open-junk-file
- auto-complete
- cl-lib
- elscreen
- magit
- helm
- helm-descbinds
- helm-gtags
- quickrun
- melpa
- nav
- yasnippet
- deferred
- color-moccur
- w3m
- all-ext
- inf-ruby
- php-mode
- sass-mode
- web-mode
- haml-mode
- slim-mode
- coffee-mode
- scss-mode
- js2-mode
- js3-mode
- haskell-mode
- google-c-style
- yaml-mode
- scala-mode
- python
- jedi
- ruby-block
- ruby-electric
- ruby-mode
という感じです。
まだ多いですねぇw
Web系の言語に対応してないと最近つらいのでそれが多くなっている要因ですね。
しかも、CommonLispのSLIMEとかは別管理(quicklisp)でやっているので実際はもう少し
多いです。