こうする。
;; https://emacsredux.com/blog/2013/06/15/open-line-above/ (defun smart-open-line () "Insert an empty line after the current line. Position the cursor at its beginning, according to the current mode." (interactive) (move-end-of-line nil) (newline-and-indent)) (defun smart-open-line-above () "Insert an empty line above the current line. Position the cursor at it's beginning, according to the current mode." (interactive) (move-beginning-of-line nil) (newline-and-indent) (forward-line -1) (indent-according-to-mode))
C-o
はカーソル位置を固定したまま、その位置に改行を1つ挿入する (open-line
) 。
上記は smart-open-line
が 空行をインデント付きで下方に挿入しつつ、カーソルも下方に移動する。 smart-open-line-above
はその上方版である。なかなか便利である。
いっそのこと、キーバインドを上書きして、
(global-set-key (kbd "C-o") 'smart-open-line) (global-set-key (kbd "M-o") 'smart-open-line-above)
のようにしてもよいだろう。