如何将缓冲区置于直接模式?

时间:2014-11-19 14:53:58

标签: emacs dired

我已经创建了一个文件名列表,并完成了我想要的一些资格。 现在我想跑#14; ls -l"在该列表上,并将结果放在直接模式缓冲区中。 现在我正在运行find-grep-dired来获取与a匹配的文件 正则表达式。但是find命令在我的环境中运行需要几分钟, 而且我必须为每种模式运行多次。我也是 不耐烦等待结果。

我尝试将ls -l值读入缓冲区,然后执行" dired-mode"。但是"直接模式"不是一种功能,更可惜。

感谢。

1 个答案:

答案 0 :(得分:0)

严格来说,问题的答案是:

M-x virtual-dired RET

如果你有一个包含ls -lR <dir>输出的缓冲区,那么这个命令会把它转换成一个直接缓冲区。

-R参数表示包含每个列出目录的路径,Emacs会在提示您输入目录路径时将其选为默认值。

当然,您并不总是想要递归列表;但如果您只通过ls -l列出一个目录,则不包含该标题行,您需要在提示符处手动输入目录。

当然,您可以自己轻松生成该行以解决问题:

printf "%s:\n" $(pwd) && ls -l

编辑:我没有注意到这是dired-x库的一部分,它不是自动加载的。参见手册:
C-h i g (dired-x) RET