自己在使用emacs过程中遇到两种情况比较卡顿或速度比较慢。自己的工作流会经常涉及大量的文件,一个文件夹都是几万张图像的那种。
第一种就是删除文件。比如一个文件夹里面很多文件(两万张甚至更多图像),如果使用dired进行删除,印象中速度慢好多,且提示filtering之类的信息。此时基本上不能进行其他工作。
第二种就是使用emacs打开的文件夹没有及时关闭,如果对该文件夹修改(比如终端重命文件或删除增加文件之类),emacs会一直显示filtering,此时emacs好像在类似扫描记录什么东西,非常卡顿。之后如果有任何emacs打开的文件夹进行修改,就会发现emacs底部一直显示filtering,此时emacs会非常卡顿。
不知道大家遇到没有,如何解决?
fdaf
2
我好像从来没见过 filtering 这种消息,是插件的吗,
可以用这个 debug-on-message 看看
另外大量的文件我一般是直接 async-shell-command
1 个赞
类似这种。你说的debug-on-message这个命令我这边没有这个命令。
另外emacs使用dired-mode删除一个文件夹,好像有类似扫描的操作。和终端rm进行删除操作的速度不一样,终端删除肯定是很快的。emacs貌似有一些慢,但是还好,还能忍受。
你可以试试
M-x profilter-start
- 执行操作
M-x profilter-report
看一下究竟是哪个函数在拖慢你的运行。
@fdaf 说的 debug-on-message
我也没听说过,不过你可以试试emacs自带的 debug-on-entry
追踪你想单步的函数。
dired
的代码本身不是很干净,老插件也可能存在bug。
1 个赞
fdaf
6
debug-on-message 是个变量运行 setq debug-on-message "Filter"
看看
4 个赞
我也是第一次听说 debug-on-message
,曾经有类似需求,没找到,原来是个变量,这下学到了!
晚上编辑个 .pas 文件,突然 Emacs 不响应了,卡了好几分钟,我只能打开 vimR 用一会先
要是 Emacs 有个 frozen detect 就好了,超过 5s 就提示下,现在这状态太不爽了,没任何消息提示。