xyzzyで見出しを行頭に挿入

前置きなど

最初は有益な情報を書かなきゃ!とか思ってたけど
見てる人がいるのかどうかもよく分からないし、ブログだから、ずっと質高い記事ばかりでなくてもいいよな・・・どうせ拾い読みしかしないよな俺だってそうだし・・・みたいなことを考え始めた。
とりあえず、ほかのひとが読んでだいたい意味が通る、くらいだったらいいよね、という気持ちでこれから書くことにします。
今回書くのは、どちらかというと実験的な感じです。細かいところは気にしないし、動いたらそれでいいじゃんという気持ちでやってます。いつか私がレベルアップして、参考になりそうなの書けるようになったらいいな。

文字列の挿入方法

はてな記法でメモを記述しよう、と決めたのだから、見出しなどはワンキーでつけれるようにしたい。
そのためには、

  1. コマンドを書いて
  2. キーを登録する

という手順を踏むといいらしい。
1は、defunで始まる括弧、2はglobal-set-keyで始まる括弧。
形式としては、

(defun 名前 ()
  (interactive "*")
  (	))
(global-set-key #\C-a 'コマンド)

という感じみたい。

分かったこと

  • interactiveというのをつけると、キーで呼び出せる。対話的、ということが書かれていた。
  • lispというのは括弧を前から処理していく、というのが基本。あと、括弧をさらに括弧でくくることで複雑な処理ができるようになる。
  • カーソル位置を元に戻す方法は、
(save-excursion
(fix-selection-point))

でくくればいいようだ。

完成系

で、できたのがこれ

;;行頭に見出しマーク
(defun midashi-heading ()
  (interactive "*")
  (save-excursion
  (goto-bol)
  (insert "**")
  (fix-selection-point)))
(global-set-key #\C-: 'midashi-heading)

使い方

見出しを打ちたい行で、Ctrl+:を押せば、行頭に**がつくようになる。

その他

最近どうでもいいことばかり書いているので、次かその次くらいには、ソフトウェアの話題か何かでちゃんとしたこと書きたい