2012/10/22

emacsでもマーク位置をフリンジに表示

f:id:gnrr:20121022180539p:image

mac にスイッチしたので xyzzy から cocoa Emacs に移行中です。
やっぱり細かなところの違いで違和感を感じます。

xyzzyではC-SPACEでマークするとフリンジに目印が表示されます。地味な機能だけど何気に役に立っていたようで、なくなると寂しいものです。emacsにはないから、テキトーに書いてみました。
(defvar fringe-indicator-ol nil)
(defun fringe-indicator (pt bitmap)
(let ((s (make-string 1 ?x)))
(when fringe-indicator-ol (delete-overlay fringe-indicator-ol))
(setq fringe-indicator-ol (make-overlay pt (1+ pt)))
(put-text-property 0 1 'display (list 'left-fringe bitmap) s)
(overlay-put fringe-indicator-ol 'before-string s)))
(defadvice set-mark-command (after fringe-indicator-adv activate)
"indicate mark-position at fringe."
(fringe-indicator (point) 'right-triangle))
view raw gistfile1.el hosted with ❤ by GitHub
習慣とは恐ろしいもので、transient-mark-mode とかよりこっちの方がしっくりきます。

参考にさせてもらったところ:fringeの使い方

にしても、最近のemacsは transient-mark-modeとか、set-mark-default-inactiveとかややこしいのがいっぱい増えてて、ちょっと困惑しました。

Related Posts Plugin for WordPress, Blogger...

0 コメント :

コメントを投稿