- helm-bm 20160321.631(in MELPA)
- helm sources for bm.el
概要
昨日は「目に見えるブックマーク」としてbm.elを紹介しました が、
今日はその helmインターフェース です。
M-x bm-toggle 、 M-x bm-previous, M-x bm-next があれば
カレントバッファ内の移動は不自由しません。
実は M-x bm-show-all という全bmを一覧するコマンドがありますが、
今ならやっぱりhelmだよねー!
ということで helm-bm.el を紹介します。
実はanything.el時代に M-x anything-bm-list があったのですが、
helmでは削除されていたので、MELPAで探して見付けたのでした。
しかも大幅にパワーアップして帰ってきました。
かつて自分が作ったものがより優れたものに
置き換わるのは嬉しい限りです。
とにかくhelm化されることで快適に検索できるようになります。
なので、bmの用途が広がり、
現在位置を記憶する以外にも
その行の『内容』を記憶させる
という目的にも使えるようになります。
快適設定も紹介します。
インストール
パッケージシステムを初めて使う人は
以下の設定を ~/.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/")))
初めてhelm-bmを使う方は
以下のコマンドを実行します。
M-x package-install helm-bm
アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。
M-x package-install package-utils (初めてアップグレードする場合のみ) M-x package-utils-upgrade-by-name helm-bm
設定 141122044603.helm-bm.el(以下のコードと同一)
;;; bm.el初期設定 (setq-default bm-buffer-persistence nil) (setq bm-restore-repository-on-load t) (require 'bm) (add-hook 'find-file-hook 'bm-buffer-restore) (add-hook 'kill-buffer-hook 'bm-buffer-save) (add-hook 'after-save-hook 'bm-buffer-save) (add-hook 'after-revert-hook 'bm-buffer-restore) (add-hook 'vc-before-checkin-hook 'bm-buffer-save) (add-hook 'kill-emacs-hook '(lambda nil (bm-buffer-save-all) (bm-repository-save))) (global-set-key (kbd "M-[") 'bm-previous) (global-set-key (kbd "M-]") 'bm-next) ;;; helm-bm.el設定 (require 'helm-bm) ;; migemoくらいつけようね (push '(migemo) helm-source-bm) ;; annotationはあまり使わないので仕切り線で表示件数減るの嫌 (setq helm-source-bm (delete '(multiline) helm-source-bm)) (defun bm-toggle-or-helm () "2回連続で起動したらhelm-bmを実行させる" (interactive) (bm-toggle) (when (eq last-command 'bm-toggle-or-helm) (helm-bm))) (global-set-key (kbd "M-SPC") 'bm-toggle-or-helm) ;;; これがないとemacs -Qでエラーになる。おそらくバグ。 (require 'compile)
実行方法
$ wget http://rubikitch.com/f/141122044603.helm-bm.el $ emacs -Q -f package-initialize -l 141122044603.helm-bm.el
提供するコマンドは M-x helm-bm のみです。
アクションは以下のものです。
- その場所に移動(デフォルト)
- bmを削除(C-SPCで候補をマークすることで複数可)
- annotation(bmでつけられるコメント)を編集
- カレントバッファ内の全bmを削除(候補とは無関係)
- 全バッファの全bmを削除(候補とは無関係)
デフォルトの設定から、3点を改良しました。
- Migemo に対応させた
- 表示件数を増やした
- M-SPC M-SPCで起動させた
初期設定ではM-SPCにM-x bm-toggleを割り当てていましたが、
2回連続で実行すると元の状態に戻ります。
そこで、2回連続M-SPCを押すと M-x helm-bm を
起動させるようにすると、かなり快適になります。
Fig1: bmをhelm + migemoで絞り込み!
本サイト内の関連パッケージ
- helm-migemo - Migemo plug-in for helm
- helm - Helm is an Emacs incremental and narrowing framework
- bm - Visible bookmarks in buffer.
- migemo - Japanese incremental search through dynamic pattern expansion
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。