Emacs

company-mode に移行する

長らく愛用してきた auto-comple ですが、メンテナンスモードに入ったという知らせを受けましたので、 company に移行することにしました。

最近は el-get でもパッケージ管理をしているので、早速以下を追加してインストールです。ヘルプ表示が非標準らしいので company-quickhelp も追加します。

init.el の読み込みを計測(2)

init.el をドラスティックに変更して、元々 postpone.el 用に括り出していた設定と Org Mode に関する設定を、それぞれファイル化して init.el から分離してみました。計測した時間をみるとわかりますが、かなりの効果が得られました。

init.el の読み込みを計測

init.el の中に次のような関数を組み込んで、起動時にどの程度の読み込み時間を要しているのか観察することにしました。

起動時間の制御という意味では、 postpone.el の導入と autoload-if-found 及び with-eval-after-load を積極利用することで、高速な起動を維持できています。しかしながら、常に新しい拡張を試しているので、私の init.el は常に肥大化の傾向にあります。

VimConf 2018 で遊んできた話

生粋の Emacsユーザである私ですが、 VimConf2018 に参加してきました。

会議の開催場所は、比較的近所の秋葉原。駅から徒歩数分と近く、また、とても綺麗な会場でした。Twitter の #vimconf タグで何枚か写真が出回っていると思いますが、それらから得られる印象よりも実際の会場はとても広く、満員の会場は登壇者に十分な威圧感を与えるものでした。

KOF に来ています。

  • 本日、KOF2018に来ています。とても楽しいです。
  • 行番号付きのソースブロックを作ります。
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
(defun ad:emacs-init-time ()
  "Return a string giving the duration of the Emacs initialization."
  (interactive)
  (let ((str
         (format "%.3f seconds"
                 (float-time
                  (time-subtract after-init-time before-init-time)))))
    (if (called-interactively-p 'interactive)
        (message "%s" str)
      str)))
  • 付けない場合はこちら。
(defun ad:emacs-init-time ()
  "Return a string giving the duration of the Emacs initialization."
  (interactive)
  (let ((str
         (format "%.3f seconds"
                 (float-time
                  (time-subtract after-init-time before-init-time)))))
    (if (called-interactively-p 'interactive)
        (message "%s" str)
      str)))

MELPAにあるテーマ一覧

MELPAから入手可能な Emacs用のテーマが一覧化されています。 どのメジャーモードに対応しているかも確認できます。 Lisp, JavaScript, C, Ruby, Org Mode の配色をプレビューできます。