diredからファイルをちら見する

diredからファイルをview-modeで開くためにdired-view-fileというファンクションが用意されます。
キーはvです。


一方、anything-find-fileなどでファイルの内容を確認したい場合はC-z(anything-execute-persistent-action)を使います


ときどきdiredでもC-zを押しちゃったりするので、いっそのことdired-mod-mapのC-zにdired-view-fileを割り当てました。

(define-key dired-mode-map (kbd "C-z") 'dired-view-file)

ただdired-view-fileで開くバッファはdiredのバッファを隠してしまいますので、なんとなく操作感がanythingと遠いと感じました。
なので、dired-view-fileの一部を修正したdired-view-file-other-windowを定義して、そっちを割り当てることにしました。

(defun dired-view-file-other-window ()
  (interactive)
  (let ((file (dired-get-file-for-visit)))
    (if (file-directory-p file)
	(or (and (cdr dired-subdir-alist)
		 (dired-goto-subdir file))
	    (dired file))
      (view-file-other-window file)
      )))
      
(define-key dired-mode-map (kbd "C-z") 'dired-view-file-other-window)
(define-key dired-mode-map (kbd "v") 'dired-view-file-other-window)      


「dired-view-fileで別ウィンドウをひらくようにする」を調べてみたら、全く同じことをやってる人がyoutubeに動画をアップしてて、そしてもっと面白い事をしてたのでついでにそれもパクりました。


やってることは「dired-view-fileを別windowで開き、さらにnやpで前後のファイルを開く」です。

(defun dired-view-file-next (&optional reverse)
  (interactive)
  (View-quit)
  (if reverse (previous-line)
     (next-line))
  (dired-view-file-other-window))

(defun dired-view-file-previous ()
  (interactive)
  (dired-view-file-next 1))
(define-key view-mode-map (kbd "n") 'dired-view-file-next)
(define-key view-mode-map (kbd "p") 'dired-view-file-previous)


youtubeの動画を見てみると結構便利に使えそうですよ