dired-launch - diredをランチャにする(WSL対応)

diredでWordやExcelのファイルを開くと、謎のXMLファイルが入ったディレクトリのようなもの現れ、しょぼんとすることがありませんか?拡張子がdocxやxslxのファイルは、実はいくつかのXMLファイルをアーカイブしたものです。初期設定のままだと、EmacsはそれらがWordやExcelのファイルであると認識せず、アーカイブの中身を表示するのです。

そこで、 dired-launch を導入して、きちんとWordやExcelが起動するように設定しましょう。WSL環境では、 wslview コマンド1をインストールしておくと、Windows側でOfficeアプリを立ち上げられるようになり、便利です。

dired-launchを導入すると、通常通り dired を開いてからWordやExcelのファイルを選択して J を押すと、アプリケーションが起動します。

設定では、WSL環境かどうかを判断し、WSL環境であれば wslview でファイルを開くようにしています。そうでなければデフォルトの mimeopen コマンドで開きます(インストールされていれば、LibreOfficeが起動します)。

(leaf dired-launch
  :straight t
  :hook (dired-mode-hook . dired-launch-mode)
  :config
  (when (and (eq system-type 'gnu/linux)
             (getenv "WSLENV"))
    (setq dired-launch-default-launcher '("wslview"))))