Emacs Dired 提供了强大的功能,可调用外部程序来打开和处理文件。
若要实现打开文件的自动化(例如使用 `sxiv` 查看图片或使用 `mplayer` 播放视频),您可以配置 `dired-open-extensions` 变量,将文件扩展名映射到特定的应用程序。
对于更复杂的任务,Dired 提供了 `!`(同步)和 `&`(异步)快捷键,用于在选定的文件上运行 Shell 命令。您可以使用 `dired-guess-shell-alist-user` 预先定义针对特定文件类型的建议命令列表。当在迷你缓冲区(minibuffer)中提示输入时,使用 `M-n` 可以循环切换这些建议,使用 `M-p` 则可以调用之前的命令。
该系统还支持使用特殊占位符构建动态命令:
* `*`:将命令一次性应用于所有选定文件。
* `?`:为每个文件单独执行命令。
* `?`:允许进行字符串操作,例如在不丢失基本文件名的情况下为原始文件名附加扩展名。
这些工具使您可以直接在文件管理器中实现灵活、高效的批处理操作。