back-to-indentation

インデント続きで

ESC m back-to-indentation

back-to-indentationと言うのを発見したけど*1
これと、C-aとかを上手いこと組み合わせたら、更に便利そう。というか、調べたらそういうことしている所があった。Fragments of Reality: (back-to-indentation)ただし、このままだとxyzzyでは動かないのでxyzzyでも動きそうな感じに直してみた。

■具体的に何をするか
C-aを押したときに行頭へ移動する。
既に行頭にカーソルがある場合は、インデントした後の文字が始まる所に移動する。

(defun toggle-beginning-or-indentation-of-line ()
  (interactive "p")
  (if (looking-at "^")
      (back-to-indentation)
    (beginning-of-line)))
(global-set-key #\C-a 'toggle-beginning-or-indentation-of-line)

とても便利だけど、個人的には、もう少し変えて、C-aを押したら行頭かインデントされた行頭のうちカーソル位置から近い方に移動してくれた方が直感的な感じ。たいした差はないけど。