我希望能够在dired中的标记文件上调用相同的shell命令,而不需要emacs来提示命令输入,因为命令将始终相同。特别是,命令是“打开”(对于mac os x)。
我试图在dired-aux.el中破解函数dired-do-shell-command但我不理解交互式线路。
在一天结束时,我希望能够将此函数绑定到C-o for dired-mode,这样我就不必使用mac os x的Finder来导航文件并打开它们。这将允许我完全转移到emacs。
感谢。
答案 0 :(得分:4)
(defun dired-open () (interactive) (dired-do-async-shell-command "open" current-prefix-arg (dired-get-marked-files t current-prefix-arg))) (define-key dired-mode-map (kbd "C-o") 'dired-open)
我们可以使用save-window-excursion
来保护现有的窗口配置不被输出缓冲区弄乱:
(defun dired-open () (interactive) (save-window-excursion (dired-do-async-shell-command "open" current-prefix-arg (dired-get-marked-files t current-prefix-arg))))