LoginSignup
2
3

dired-modeにおけるQuick Lookの利用について (MacOS)

Last updated at Posted at 2020-08-30

MacOSのFinder上でSPCを押すとQuick Lookが起動し、ファイルの中身をチラ見できるということは、MacOSユーザであれば周知のことだろう。

Emacsのdired-modeでそれを利用可能にした、という記事はいくつか見つかる。

これらの記事では以下の関数が紹介されている:

(defun do-ql-dwim ()
  (interactive)
  (let* ((proc (get-buffer-process "*Async Shell Command*")))
    (if proc
        (kill-process proc)
      (dired-do-async-shell-command
       "qlmanage -p 2>/dev/null" ""
       (dired-get-marked-files)))))

上記の関数を定義したあとで、dired-modeが有効になっているバッファでdo-ql-dwimを実行すればQuick Lookを呼び出すことができる(カーソル下のファイルを対象に)。これでも悪くはないのだが、"*Async Shell Command*"というバッファが別ウィンドウにポップアップし、そのまま残り続けるのが不満であった。

そこで以下の設定を書き、見た目の上では件のバッファがポップアップしないようにしたわけである。

(with-eval-after-load "dired"
  (define-key dired-mode-map (kbd "SPC") #'dired-quick-look)
  (defun dired-quick-look ()
    (interactive)
    (let ((proc (get-buffer-process "*Async Shell Command*")))
      (if proc
          (kill-process proc)
        (dired-do-async-shell-command
         "qlmanage -p 2>/dev/null" ""
         (dired-get-marked-files))))
    (delete-window
     (get-buffer-window "*Async Shell Command*"))))

この設定では、dired-mode時にSPCとするとQuick Lookによるプレビューが利用可能になる。キーバインドは各自の好みで変更可能である。

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3