如何让Emacs Dired模式使用eshell-ls等Eshell命令?
Dired配置:使用Eshell ls并递归匹配通配符
如果你使用基于Emacs Lisp实现的
ls(比如ls-lisp或eshell-ls)运行Dired,那么你可以递归列出所有匹配通配符的文件
完全可以通过init.el配置让Dired优先使用Eshell的命令,具体配置和用法如下:
配置步骤
在你的init.el中添加以下代码:
;; 禁用Dired调用系统ls,改用Elisp实现的ls (setq dired-use-ls-dired nil) ;; 不依赖外部ls程序,使用Elisp实现的ls逻辑 (setq ls-lisp-use-insert-directory-program nil) ;; 加载Eshell以启用eshell-ls功能 (require 'eshell)
如果需要确保eshell-ls被加载,可以额外添加:
(require 'eshell-ls)
递归匹配通配符用法
配置完成后,在Dired缓冲区中:
- 按下
% m(标记匹配文件),输入类似**/*.org的通配符,即可递归标记所有子目录下符合规则的文件 - 使用
M-x dired-find-file-recursively命令,输入通配符后,会直接打开一个新的Dired缓冲区,列出所有递归匹配的文件
内容的提问来源于stack exchange,提问作者mzimmermann
相关产品推荐
相关产品推荐

