1

使用 dired-omit-file,我有一个正则表达式来查找(和过滤)所有点文件。问题是,我想保留 . 和 .. 在文件列表中。

这是我目前拥有的代码:

(add-hook 'dired-mode-hook
  (lambda ()
  (setq dired-omit-files
        (concat dired-omit-files "\\|^\\..+$"))))

如何改进它以输出我想要的?

4

2 回答 2

1

这应该适合您的需求:

^([.][^.].*|[^.]+[.].*)$

以点开头的名称,后跟除点以外的任何字符,或以除点以外的任何字符,至少包含一个点。

于 2013-03-27T16:34:05.847 回答
1

我的简短回答是:

^\\.\\w.*$

说明: 以 '.' 开头的字符串 后跟一个 WORD,后跟 0 个或多个任意符号。WORD 不包括 '.' 性格,并确保你会留住你'。和“..”条目。

如果您想了解有关正则表达式的更多信息,可以在此处阅读 emacs 手册中的部分:http: //emacswiki.org/emacs/RegularExpression

另一个测试正则表达式的好方法是内置于 emacs 中的正则表达式构建器。M-x regexp-builder. 您可以进入*scratch*缓冲区并写下一些文件名。一旦你有了一些,调用 regexp-builder 它将突出显示与你的正则表达式匹配的所有内容。

于 2013-03-28T01:18:49.667 回答