有时候 emacs 下调用 C-x dired 是挺方便的一个事,但是一堆的点文件(linux下以“.”为前缀的文件,即隐藏文件)让人目不暇接,打算隐藏之。
参考如下:
- 最主要的是这篇:https://www.emacswiki.org/emacs/DiredOmitMode
- 其次有:
https://emacs.stackexchange.com/questions/19558/how-to-adjust-dired-omit-mode
https://stackoverflow.com/questions/43628315/emacs-how-hide-one-dot-in-dired-mode - 关于dired 的快捷键 与 dired-X的介绍和使用有:
http://lujun9972.github.io/blog/2016/12/10/emacs文件管理神器--dired常用操作说明/
http://yunqingdan.blog.163.com/blog/static/124558416200972005821657/ - EMACS的正则表达式复习:http://dsec.pku.edu.cn/~rli/WiKi/EmacsRegexp.html
可以直接利用上面emacswiki 的那篇内容,在emacs的启动文件 .emacs 中定义函数 dired-dotfiles-toggle,之后在 dired 的环境下 M-x dired-dotfiles-toggle 就可以了。
ps,其实不写这个函数也可以,不嫌麻烦的话,可以视需要,每次手动在dired下,以下输入时均无引号哦,
输入:“%m” ,调出正则表达式 mark ,
输入:“[1]” ,mark 以 “.” 为首字的匹配,
再输入:“k”,do-kill-lines 隐藏相应的mark项。
基本和上述函数的功能一样。
想显示的时候,再输入:“g” 就好了。
但是这样做只解决了以“.”文件开头的隐藏文件不会在 emacs的 dired 下显示,但以“~”结尾的一些临时文件仍然存在。
一劳永逸地,加装 dired-x ,以便以后dired 的调整可以开挂。
直接在 .emacs 文件中添加如下:
(add-hook 'dired-load-hook '(lambda () (require 'dired-x))) ; Load Dired X when Dired is loaded.
(setq dired-omit-mode t) ; Turn on Omit mode.
这会在启动时打开 dired-omit-mode ,如此,以“~”结尾的文件也自动的不显示了。
如有其他需求,可以在 dired-x 的两个变量中进行定制:dired-omit-files 和 dired-omit-extensions 。
. ↩︎