Emacsからファイルを拡張子にあったアプリケーションで開く

EmacsのdiredでEnterとかを押すとファイルを開ける。
開くファイルがテキストファイルだったら良いけれど
これがPDFやらdoc形式だったりすると困ったことになる。


# PDFはDoc-Viewで開けたりするんだけど
# Doc-Viewは暗号化に対応していない?とかでうまく開けなかったりする。


PDFならEvinceやacroread、
docならopenoffice
といったようにそれに適したアプリケーションでファイルを開きたい。
つまり「Gnomeでダブルクリック」に対応するgnome-openコマンドを
Emacsから呼び出してやればよい。


すでにやってる人がいました。
http://bach.istc.kobe-u.ac.jp/lect/tamlab/ubuntu/emacs.html

(add-hook 'dired-load-hook (function (lambda ()
    (define-key dired-mode-map "o" 'dired-open-file)
)))
(defun dired-open-file ()
  "In dired, open the file named on this line."
  (interactive)
  (let* ((file (dired-get-filename)))
    (message "Opening %s..." file)
    (call-process "gnome-open" nil 0 nil file)
    (message "Opening %s done" file)
))


これでEmacsがランチャになります。