Personal tools
You are here: Home ブログ 井上 Emacsのマーク履歴にアイコン表示
« December 2010 »
Su Mo Tu We Th Fr Sa
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
Recent entries
Apache2.4のリリース予定は来年(2011年)初め(あくまで予定) inoue 2010-12-23
Herokuの発音 inoue 2010-12-20
雑誌記事「ソフトウェア・テストPRESS Vol.9」の原稿公開 inoue 2010-12-18
IPA未踏のニュース inoue 2010-12-15
労基法とチキンゲーム inoue 2010-12-06
フロントエンドエンジニア inoue 2010-12-03
ASCII.technologies誌にMapReduceの記事を書きました inoue 2010-11-25
技術評論社パーフェクトシリーズ絶賛発売中 inoue 2010-11-24
雑誌連載「Emacsのトラノマキ」の原稿(part8)公開 inoue 2010-11-22
RESTの当惑 inoue 2010-11-22
「プログラマのためのUXチートシート」を作りました inoue 2010-11-19
「ビューティフルコード」を読みました inoue 2010-11-16
Categories
カテゴリなし
 
Document Actions

Emacsのマーク履歴にアイコン表示

探せばあるかもしれませんが、書いてみました。

Emacsのマーク位置は目に見えませんが、見たくなったら見えてもいいかな、と思いました(某エディタでの動作を見て)。

(global-set-key "\M-m" 
              (lambda () 
                (interactive)
                (if (not (boundp 'my-mark-overlays)) 
                    (setq my-mark-overlays nil))
                (if my-mark-overlays
                    (while my-mark-overlays
                      (delete-overlay (car my-mark-overlays))
                      (setq my-mark-overlays (cdr my-mark-overlays)))
                  (mapcar 
                   '(lambda (m) 
                      (let ((ov (make-overlay (marker-position m) (1+ (marker-position m)))))
                        (overlay-put ov 'display (find-image '((:type xpm :file "right_arrow.xpm" :ascent center))))
                        (setq my-mark-overlays (cons ov my-mark-overlays)))) (cons (mark-marker) mark-ring)))))

M-mに割り当てるのが嫌な人は適当にキーアサインを決めてください。

コードは3つのパートに分かれています。最初のifからの2行は、my-mark-overlaysシンボルが空なら初期化している処理です。my-mark-overlaysは、この関数の中でしか使いませんが、スコープ的にはグローバルなシンボルです。whileから始まる3行は、アイコンを消す処理です。mapcarから始まる残りが、マーク履歴(現在のマークとmark-ring)にアイコンを表示する処理です。 結局、トグル的に動作します。

画像を載せます。 regionがハイライトしているのはtransient-mark-modeの効果で、矢印アイコンが現れているのがこのコードの効果です。

/Members/inoue/images/misc/emacs-mark.png
The URL to Trackback this entry is:
http://dev.ariel-networks.com/Members/inoue/icon-on-emacs-marks/tbping

Re:Emacsのマーク履歴にアイコン表示

Posted by k12u at 2007-02-16 00:28
このコードを動かせないので確証は持てませんが、
transient-mark-modeと同じ効果かもしれないと思いました。

Re:Emacsのマーク履歴にアイコン表示

Posted by inoue at 2007-02-16 16:03
動作画面を添付しました。

Re:Emacsのマーク履歴にアイコン表示

Posted by jian at 2007-03-23 11:55
same as k12u:

(setq transient-mark-mode t)

;)
Add comment

You can add a comment by filling out the form below. Plain text formatting.

(Required)
(Required)
(Required)
This helps us prevent automated spamming.
Captcha Image


Copyright(C) 2001 - 2006 Ariel Networks, Inc. All rights reserved.