- dired-launch 20170409.1923(in MELPA)
- Use dired as a launcher
概要
dired-launch.elはdiredからファイルに関連付けられたアプリケーションを起動するマイナーモード、M-x dired-launch-modeを提供します。
このマイナーモードを有効にしたら、dired上で「J」を押せば現在のファイル(マークされたファイル全体)に関連付けられたアプリケーションを起動します。
同類のdired-open.elやopenwith.elやcrux.elはファイルをEmacsで開く代わりに関連付けられたアプリケーションを起動します。
対してdired-launch.elはRETではなくて別のキーに割り当てられているという特徴があります。
インストール
パッケージシステムを初めて使う人は
以下の設定を ~/.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/")))
初めてdired-launchを使う方は
以下のコマンドを実行します。
M-x package-install dired-launch
アップグレードする方は、
以下のコマンドでアップグレードしてください。
そのためにはpackage-utilsパッケージが必要です。
M-x package-install package-utils (初めてアップグレードする場合のみ) M-x package-utils-upgrade-by-name dired-launch
設定の注意
Mac OS XとWindows(ネイティブ)はopenコマンドを使います。
Cygwinは現時点では対応していませんが、dired-launch-commandを書き換えることで対応できます。
実機がないので未確認ですが、こうでしょうか?
(setq dired-launch-mailcap-friend '("env" "cygstart")) (defun dired-launch-command () "Attempt to launch appropriate executables on marked files in the current dired buffer." (interactive) (save-window-excursion (dired-launch-homebrew (dired-get-marked-files t current-prefix-arg) (first dired-launch-mailcap-friend))))
GNU/LinuxではPerlスクリプトのmimeopenが使われるようにデフォルトでは設定されています。
「J」を押したとき、mimeopen -n FILENAME が実行されるため、mimeopenで一番上に設定されているアプリケーションが起動します。
もし一番上に設定されているアプリケーションが動かない場合は動作しないので注意してください。
そういう場合は代わりにxdg-openコマンドを使えばいいです。
FreeBSD等ではGNU/Linuxと同じように動くと思います。
ただ、元のコードはGNU/Linuxの場合に限定されていますので、dired-launch-commandを上記と同じように再定義します。
(defun dired-launch-command () "Attempt to launch appropriate executables on marked files in the current dired buffer." (interactive) (save-window-excursion (dired-launch-homebrew (dired-get-marked-files t current-prefix-arg) (first dired-launch-mailcap-friend))))
設定 161007103716.dired-launch.el(以下のコードと同一)
;;; mimeopenが使えない人はxdg-openで代用 (setq dired-launch-mailcap-friend '("env" "xdg-open")) ;;; これでdired-launch-modeが有効になり[J]が使える (dired-launch-enable)
実行方法
$ wget http://rubikitch.com/f/161007103716.dired-launch.el $ emacs -Q -f package-initialize -l 161007103716.dired-launch.el
本サイト内の関連パッケージ
- crux - A Collection of Ridiculously Useful eXtensions
- openwith - Open files with external programs
- dired-open - Open files from dired using using custom actions
本日もお読みいただき、ありがとうございました。参考になれば嬉しいです。