direx から quick-preview でプレビューする
direx はとても便利ですが、例えば画像ファイルをプリビューしようとするとかなり残念な気分になります。
ところで ELPA には quick-preview という素敵なパッケージがあって、OS ごとに用意されたチラ見プログラムを起動できます。例えば macOS では QuickLook を起動しています。なのでそれらチラ見プログラムで表示できるものは何でも表示できるようになります。画像でも動画でも音声でもエクセルでもワードでも (対応していれば)。
direx から quick-preview にファイルを渡してやればかなり幸せになりそうだったのですが一筋縄ではいきませんでした。でもまあなんとかできるようになったのでここに記しておきます。
direx と quick-preview の内部構造をカンニングしてでっち上げたものなのでバージョンが変われば動かなくなる可能性があります。
前提条件として direx と quick-preview が パッケージシステムを使ってインストールされている 必要があります。package-installed-p
なんて関数使ってるので…。でもいまどきこんな条件普通クリアしてますよね?
(when (package-installed-p 'quick-preview)
(global-set-key (kbd "C-c C-p") 'quick-preview-at-point)
;; direx において [SPACE] でプレビュー
(with-eval-after-load "direx"
(define-key direx:direx-mode-map (kbd "SPC") 'quick-preview-at-point)
(defun my-advice-quick-preview---get-file-name-for-direx (f &rest args)
(if (eq major-mode 'direx:direx-mode)
(direx:file-full-name (direx:item-tree (direx:item-at-point)))
(apply f args)))
(advice-add 'quick-preview--get-filename :around #'my-advice-quick-preview---get-file-name-for-direx)))
direx では SPACE を押すとプリビューです (他のメジャーモードでは C-c C-p でプリビューです)。もともとはスペースにページを送る関数をバインドしてあったようですがそんなのは C-v でいいので潰しました。
Author And Source
この問題について(direx から quick-preview でプレビューする), 我々は、より多くの情報をここで見つけました https://qiita.com/__hage/items/0720eb78adf83fa52e12著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .