emacs 在 windows 下的最佳实践是什么?

谢谢您的建议,我会完善并修改自己回复的。

刚刚我稍微加了点具体的缺点:fearful:

求教, native emacs 能不能和 WSL的 命令行工具配合,比如和 git, diff, 之类的。

WSL 下 magit 速度如何(不知你用不用magit)

@whatacold 快不少。我可能会选择留下来一直用wsl下面的emacs。配置起来太省事了。pdf tools自动安装。。。不需要自己编译。启动速度从20s降到10s。输入法直接使用pyim,连切换中英文都省得自己烦心了。

本地操作,不涉及网络。

项目也就百来个文件吧, magit-status 感觉可能要6 7s ,很影响心情,git 在windows下普遍被吐槽慢。

总结了一下为什么Windows下Emacs会慢

https://chriszheng.science/2018/07/12/Why-is-Emacs-so-slow-on-Windows/

本站用Windows的人不多 各位了解一下就好

我的emacs 25.3在Windows10,现在一些特殊字符无法显示,想问问您的情况

最近一段时间折腾了
原生windows, wsl+debian+emacs, msys2+native编译的emacs 最终还是觉得原生windows
使用了doom emacs的配置
启动时间依次是15s 10s 14s,不知道是不是字体的坑

原生好处除了慢, 目前用起来最方便, 日常就用org记记笔记, git, MATLAB, python, latex等等。现在策略就是开机后打开就不关了,速度还行。

wsl,很丝滑,目前的问题是输入法吧, 再就是和win的文件沟通,
输入法用的org-rime也能凑活吧, rime在中英切换目前感觉还是不太方便, 因为现在用evil-mode,感觉还是不太顺手

msys2 好像是上述两者各取优点? 但是我可能太菜了,按照文档编译emacs 28.1的exe文件有点儿问题
能正常用,比原生win丝滑,但是 --debug-init的配置总是报错,所以没继续研究下去
也是能用的,但是担心哪里会有问题,所以就回退到原生win了

2 个赞

你说的启动时间 14s 如果是从点击图标到能够使用的话,那是正常的了。 如果是 emacs-init-time ,那正常是 2s - 4s 左右,看不同的电脑性能(我的是 3.7s)。

Windows 启动慢,主要是加载文件慢,你 load-path 里面很多包的话,就更慢了。

doom-emacs的dashboard统计的时间, 感觉还是有点儿离谱的
可能是我加载的包太多了, 基本doom默认的配置,我都没怎么动,有时间把没必要包的都精简掉。设置下延迟加载
但好在虽然每次启动和加载文件都很慢,但只有一次,加载完后就正常了。现在开机就一直开着emacs,暂时先不折腾了。

本来想重新看下 benchmark的加载时间的,好像又挂了,不知道哪里的问题…

延迟加载方面,doom 应该都优化过了。估计是因为你少一些依赖,启动的时候在检查这些包。

删减一些不用的模块应该是可以提升很多的。

有一个小坑:有的同学(比如我)的windows defender的实时防护可能会在emacs启动时拦截检查,大大拖慢启动速度……可以在启动时打开任务管理器,看看有没有antimalware service executable蹦出来qwq

也可能因为我的情况比较特殊,用的winserver哈哈 :joy:

这个微软的杀毒,我都不知道怎么关闭它。编译emacs 的时候也会不停地扫描刚生成的文件,占用大量 CPU资源。

在设置里面把“实时防护”暂时关一下就行了。

好,谢谢。回头去看看怎么设置。

一个选项,勾选掉就可以了。应该可以直接搜到。

或者可以考虑装个其他杀毒软件,例如火绒,作为吉祥物,windows defender会自动关闭。

找到了,谢谢。

以前是用公司买的 eset杀毒,后来懒得用第三方了。

1 个赞

这样关的话,重启或者过一个扫描周期(默认是一天)后它会自动重新打开。真正关掉的话得打开组策略编辑器(win+r gpedit.msc),在系统的windows管理→microsoft防病毒下找到关闭defender的策略,设为启用;这时候还不行,得进病毒和威胁防护的设置里,把下面的防恶意软件篡改关掉,再翻上去就会发现实时防护被系统关上并锁住了qwq……

ps:其实defender还是可以的,不整个关掉也行,可以只在组策略microsoft防病毒→实时防护里把“关闭实时防护”打开,进程扫描也会暂停。理论来说只把进程扫描关掉应该也行,但我为了图省事就全关了 :rofl:

原来是这样,我之前就是进组策略关闭,一点用都没有 :grinning_face_with_smiling_eyes:

不过我测试了下,关闭这个选项对 Emacs 启动并没影响。所以,我还是只在编译 Emacs 的时候关闭它就好了。毕竟在 Windows 下编译一次 native-comp + FULL-AOT 要30 分钟(渣电脑)

1 个赞