C-aで「行頭」と「インデントを飛ばした行頭」を行き来する
js2-modeのc-aの動作,と言えば分かる人には分かりやすいと思う。
C-aで、インデント文字を飛ばした行頭に戻りたい! - subpop - subtechのelispを参考に,というか1文字改変しただけです。("^[ \t]*$" → "^[ \t]+")
(global-set-key "\C-a" 'beggining-of-indented-line) (defun beggining-of-indented-line (current-point) "インデント文字を飛ばした行頭に戻る。 ただし、ポイントから行頭までの間にインデント文字しかない場合は、行頭に戻る。" (interactive "d") (if (string-match "^[ \t]+$" (save-excursion (buffer-substring-no-properties (progn (beginning-of-line) (point)) current-point))) (beginning-of-line) (back-to-indentation)))
js2-modeの実装をパクるのが一番手っ取り早かった気もした。