Emacs 使用dired时如何忽略.svn子目录

Emacs 使用dired时如何忽略.svn子目录,emacs,dired,Emacs,Dired,我需要替换目录树中多个文件中的字符串 因此,我的计划是使用dired首先定位包含字符串的所有文件(使用%g),然后将字符串替换为Q 为了显示树中的所有子目录,我使用C-u lR。问题是,这也显示了.svn目录,我不想进入它们 有没有一种方法可以告诉dired忽略给定的目录(或者通常只忽略隐藏的目录) 我使用的是Emacs 23.1.1。您可以通过以下方式将.svn扩展名添加到dired-omit文件中: (setq dired-omit-files (concat dired-omit-file

我需要替换目录树中多个文件中的字符串

因此,我的计划是使用dired首先定位包含字符串的所有文件(使用
%g
),然后将字符串替换为
Q

为了显示树中的所有子目录,我使用
C-u lR
。问题是,这也显示了.svn目录,我不想进入它们

有没有一种方法可以告诉dired忽略给定的目录(或者通常只忽略隐藏的目录)


我使用的是Emacs 23.1.1。

您可以通过以下方式将
.svn
扩展名添加到
dired-omit文件中:

(setq dired-omit-files (concat dired-omit-files "\\|\\.svn$"))
有关更多信息,请参见

但是请注意,您可以只隐藏它们(
dired hide dir
,绑定到
$
dired hide all
,绑定到
M-$
)。根据:

普通DIRS命令从不考虑隐藏子目录内的文件。例如,对标记文件进行操作的命令会忽略隐藏目录中的文件,即使这些文件已标记。因此,您可以使用隐藏从操作中临时排除子目录,而不必删除这些子目录中文件的Dired标记


PS你的Emacs版本已经5年了!您可能会考虑更新最新版本(24.4将很快推出)。