2

我希望能够在 dired 中的标记文件上调用相同的 shell 命令,而无需 emacs 提示命令输入,因为命令将始终相同。特别是,该命令是“打开的”(对于 mac os x)。

我试图破解 dired-aux.el 中的函数 dired-do-shell-command 但我不理解交互式行。

归根结底,我希望能够将此函数绑定到 Co 以实现 dired-mode,这样我就不必使用 mac os x 的 Finder 来导航文件并打开它们。这将允许我完全迁移到 emacs。

谢谢。

4

1 回答 1

5
(defun 直接打开 ()
  (交互的)
  (dired-do-async-shell 命令
   “打开”当前前缀参数
   (dired-get-marked-files t current-prefix-arg)))

(define-key dired-mode-map (kbd "Co") 'dired-open)

编辑:

我们可以save-window-excursion用来保护现有的窗口配置不被输出缓冲区弄乱:

(defun 直接打开 ()
  (交互的)
  (保存窗口游览
    (dired-do-async-shell 命令
     “打开”当前前缀参数
     (dired-get-marked-files t current-prefix-arg))))
于 2009-12-01T08:32:17.600 回答