visible-mark 20150623.2150(in MELPA)
Make marks visible.

概要

通常のEmacsでC-SPCでマークしても、
その位置がわかるようにはなっていません。

一時的に場所を記憶する目的でマークしても、
目に見えない以上、迷子になってしまうこともあります。

そこで、 visible-mark.el を使うことでマークを可視化します。

これはマイナーモードで実装されていて、
M-x visible-mark-mode で個別バッファ、
M-x global-visible-mark-mode ですべてのバッファで有効になります。

マークを巡回するには、標準コマンドの C-u C-SPC を使います。

set-mark-command-repeat-pop を t にすることで、
C-uの後にC-SPCを連打することで過去のマークを遡れます。

マークの色を変更するには
M-x customize-face visible-mark-face
を実行してください。

show-marks.el(レビュー) とも併用できます。

20150205075331.png
Fig1: マークを明示

インストール

パッケージシステムを初めて使う人は
以下の設定を ~/.emacs.d/init.el の
先頭に加えてください。

(package-initialize)
(setq package-archives
      '(("gnu" . "http://elpa.gnu.org/packages/")
        ("melpa" . "http://melpa.org/packages/")
        ("org" . "http://orgmode.org/elpa/")))

初めてvisible-markを使う方は
以下のコマンドを実行します。

M-x package-install visible-mark

アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。

M-x package-install package-utils (初めてアップグレードする場合のみ)
M-x package-utils-upgrade-by-name visible-mark

設定 150205074951.visible-mark.el(以下のコードと同一)

;;; C-u C-SPC C-SPC ...で過去のマークを遡れるようにする
(setq set-mark-command-repeat-pop t)
;;; 過去10個のマークを可視化する
(setq visible-mark-max 10)
;;; transient-mark-modeでC-SPC C-SPC、あるいはC-SPC C-gすると消えるバグ修正
(defun visible-mark-move-overlays--avoid-disappear (&rest them)
  (let ((mark-active t)) (apply them)))
(advice-add 'visible-mark-move-overlays :around 'visible-mark-move-overlays--avoid-disappear)

(global-visible-mark-mode 1)

実行方法

$ wget http://rubikitch.com/f/150205074951.visible-mark.el
$ emacs -Q -f package-initialize -l 150205074951.visible-mark.el

本サイト内の関連パッケージ


本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。