Hi.
デフォルトのEmacsの挙動だとC-jに
newline-and-indent
、C-mにnewline
、C-oにopen-line
が割り当てられてて、結構頻繁に使うコマンドだと思います。僕は
open-line
がカーソル以降の文章を改行した後にそれらをインデントしてくれないのがずっと納得できなくて悩んでいました。そんなときにsmart-newlineが周りで話題になってたので入れてみました。
EmcasのC-mを便利にするsmart-newline.elを公開した - ainameの日記
とても便利っぽいけど、カーソル位置によって挙動が変わるのが僕のスタイルには合いませんでした。
で、結局自分で関数を自作することにしました。
(defun open-line-next-indent () "Open a line and indent the next line." (interactive) (save-excursion (newline) (indent-for-tab-command)) ) (global-set-key "\C-o" 'open-line-next-indent)めっちゃ簡単な関数ですけどこれが僕にとって理想のC-oの挙動だと思いました。
一度に
newline-and-indent
せずに、newline
してからindent-for-tab-command
でインデントするのがミソだと思ってます。newline-and-indent
にしたら変な挙動になるので試したらいいと思います。そんな感じで、C-oが最終的に満足のいく挙動になって良かったと思います(笑)。
みなさんも理想のC-oの挙動に出会ってくださいね。
0 件のコメント :
コメントを投稿