Emacs:在dired中轻松导航图像?

Emacs:在dired中轻松导航图像?,emacs,elisp,dired,Emacs,Elisp,Dired,当我在dired buffer中的图像上按v键时,我需要eog样式的导航。 我在网上搜索了一段时间,但没有找到任何直接的东西。 有图像驱动,但缩略图不是我想要的 我想要大多数文件类型已经具备的行为: v in dired以查看模式显示文件, 其中n,p,q做的是显而易见的事情 我在dired view next上做了一些改动,但我想知道 已经有一个包做得很好了?从中,您可以运行图像驱动显示缩略图原始图像。如果修改键映射,使v运行image dired显示缩略图原始图像,但这将仅在另一个缓冲区中显

当我在dired buffer中的图像上按v键时,我需要
eog
样式的导航。 我在网上搜索了一段时间,但没有找到任何直接的东西。 有
图像驱动
,但缩略图不是我想要的

我想要大多数文件类型已经具备的行为: v in dired以
查看模式显示文件,
其中n,p,q做的是显而易见的事情

我在
dired view next
上做了一些改动,但我想知道 已经有一个包做得很好了?

从中,您可以运行
图像驱动显示缩略图原始图像
。如果修改键映射,使
v
运行
image dired显示缩略图原始图像
,但这将仅在另一个缓冲区中显示图像


您也许可以编写一个自定义次要模式,以便在打开图像时修改当前的dired模式。此新模式将使图像在另一个缓冲区中打开,同时将光标保持在当前缓冲区中,并使
n
p
分别将光标和显示的图像移动到下一个/上一个图像
q
会让你回来的。但是,我不知道该怎么做。

我把我的代码放在这里,以防没有更好的等价物。 它的工作原理与我所希望的一样,但实现有点愚蠢:

(defmacro image-view (direction)
  `(lambda ()
     (interactive)
     (quit-window)
     (let ((pt (point))
           filename)
       (or (ignore-errors
             (catch 'filename
               (while (dired-next-line ,direction)
                 (when (image-type-from-file-name
                        (setq filename (dired-get-filename)))
                   (throw 'filename filename)))))
           (goto-char pt))
       (dired-view-file))))

(eval-after-load "image-mode"
  '(progn
    (define-key image-mode-map "n" (image-view 1))
    (define-key image-mode-map "h" (image-view -1))))

这已在将成为Emacs 24.4的版本中修复。瞧,它在Emacs 24的最新开发快照中起作用

v
in-Dired可按您的要求工作:它显示图像。然后,
n
p
q
执行您希望执行的操作:分别显示下一个或上一个文件(图像),然后退出。每个图像都以
图像模式显示
,该模式将
n
等绑定到DTRT


考虑从一个开发人员快照中提取并将其添加到您的init文件中。不知道您是否需要修改其中的一些代码,以使其与Emacs 24.3(或您正在使用的任何Emacs版本)配合良好。

查看图像不是问题。即使没有
image dired
,它也可以开箱即用,因为我不需要缩略图。导航不起作用。啊哈,我没能理解第一轮-这是一个非常困难的问题。我的Emacs上没有下一个dired view,你使用的是什么版本?你是在用一些特殊的扩展来驱动模式吗?