Emacs

C-g した場所をブックマークする

isearch した後に C-g してしまう癖がどうも抜けず、その度にカーソル位置が初期化されて困っていました。正解は、 RET の押下で isearch-exit を呼び出すことですが、なかなか慣れません。

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

自宅の主端末を新調したので、init.el の読み込み時間を計測し直しました。2011年モデルから2018年モデルへのジャンプです。

Table 1: init.el 読み込みシーケンスの時間計測
CUI[ms] GUI[ms]
startup 2.63 2.01
core 0.80 0.98
point 0.03 0.05
editing 0.34 0.33
presentation 1.51 1.29
media 0.10 0.04
history 0.25 0.24
development 0.33 0.33
Org Mode 0.0 0.0
frame and window 0.67 0.74
font 0.26 0.27
utility 0.44 0.43

合計値をこれまでの計測(init.el の読み込みを計測init.el の読み込みを計測(2))と比較すると、数値が一桁変わっています。前回との比較では、CUIとGUIと共に半分程度に減少しており「やはり最新の端末は速いな」と感心するばかりです。

Emacs 26.3 has been released

Emacs 26.3 がリリースされました。 RC1 の公開から1週間の正式版公開です。

メンテナンスリリースなので大きな機能追加は無しですが、新元号の令和対応が入っています。なので、今回のリリースは、日本のために出されたようなものです(言い過ぎ

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 は常に肥大化の傾向にあります。

最終変更日の手動設定

ox-hugo を使った Hugo への markdown 出力では、最終更新日( lastmod )を設定できる。

さらに次のように設定すれば、ファイル保存時に自動的に最終更新日を設定できる。

(setq org-hugo-auto-set-lastmod t)

しばらくはこの設定でうまく運用できていたが、細かい修正等で、わざわざ更新日を更新する必要がないことも多いことがわかった。

記事の Org file にリンクを貼る

せっかく ox-hugo で記事を書いているので、Hugo記事のソースとなる orgfile を明示したい。

毎度手動でそのリンクを生成するのは面倒なので、マクロで実現してみる。

まず、マクロから呼び出す関数を書く。