ポイント移動しない yank / C-m に indent-new-comment-line

自分が最近やった、ちょっとしたユーティリティ(というほどのものかは分かんないけど)です。



ヤンクする度にポイント(カーソルの現在地)が変わってしまうのが嫌だったので以下のような関数をでっちあげてみました。
とりあえず大量にヤンクしてそれを後でちょっとずつ編集しようとかいう時にほんのちょっと便利かもです。

(global-set-key [(super y)] '(lambda (arg)
                               (interactive "P")
                               (save-excursion
                                 (yank (or arg 1)))))

キーは、Super キーに割り当ててます。
Linux なんかだと、Windows キーが Super キーの役割をします。
キー割り当てをしても、まず絶対に被らないので Super にキーを割り当てるのは結構お勧めです。



現在の行がコメント行であれば、改行してコメントも入れて(インデントもして)くれる indent-new-comment-line を C-m にしてみました。
元々 C-m を newline-and-indent にしてたのですが、コメント行のときだけ M-j とするのが面倒なので試しにこのようにしてみたところ、
けっこう快適だったので、現在はこれに落ち着いてます。
改行自体を挿入するは、C-o を使う事もけっこう多かったりしますし。

# 普通の行で indent-new-comment-line → 普通に改行 + インデント
# コメント行で indent-new-comment-line → 改行 + コメントが追加される

(global-set-key "\C-j" 'newline)
;;(global-set-key "\C-m" 'newline-and-indent) ; 改行とインデントは同時
(global-set-key "\C-m" 'indent-new-comment-line)
(global-set-key "\M-j" 'newline-and-indent)


まあ、そんなこんなで。

更新時刻

  • 2010/01/17/01:26