2010.11.23
■[emacs] emacs で PDF を読む設定
anythingでPDFファイルをプレビューしながら高速に選びたい - 技術日記@kiwanami は、そのままだとアクロバットリーダなど外部のアプリで開いてしまう。不便なので、 doc-view.el があるなら emacs 内で表示するようにする。doc-view.el は emacs23 なら標準添付。ここまでは、anything-books.el の話。
(defadvice abks:open-file (around my-abks:open-file activate) (if (require 'doc-view nil t) (find-file (ad-get-arg 0)) ad-do-it))
C-x C-f で pdf ファイルを指定すれば、emacs23 なら doc-view-mode でPDF を表示することができる。だけど、マイナーモードが view-mode になり、重複するキーバインドが view-mode に奪われてしまう。そこで以下の設定を追記する。 n で次のページ、p で前のページ、 + で拡大、 - で縮小できる。
(add-hook 'view-mode-hook (lambda () (when (eql major-mode 'doc-view-mode) (define-key view-mode-map "-" nil) (define-key view-mode-map "n" nil) (define-key view-mode-map "p" nil))))
なお、doc-view.el の丁寧な解説は Emacs 23でPDFを表示させる--新機能「DocView」を試す - builder by ZDNet Japan にある。
■[emacs] anything-follow-mode を let で包んで t にして anything を呼んでも無駄
(defun anything-create-anything-buffer (&optional test-mode) "Create newly created `anything-buffer'. If TEST-MODE is non-nil, clear `anything-candidate-cache'." ... (set (make-local-variable 'anything-follow-mode) nil) ...)
ググると、Twitter / @xyzzy: letでanything-follow-modeをt ... が同じことをいっていた。
他の現実的なアプローチは、anything-c-moccur.el, anything-books.el だけど、複数人が苦労しているし、anything.el 側が変わるといいですね。
