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

@Chris 的回答,这个回答可以说相当全面了。甚至分析了 msys2 下使用 emacs 的利弊。对 Windows 下 emacs 用户很有参考价值。

当然,要是能说说具体哪些方面的体验不如 *nix 系统下的 emacs 就更好了。

好比windows的emacs可以直接运行,无需GNU的其它工具,这个就是mingw要干的。但是如果你需要GNU在类似Unix上的工具,比如autotools, 你需要一个Cygwin的模拟层才能做到这个就是msys。但是,我们希望我们的产出不需要依赖msys直接运行。这时候MSYS2就是一个好的选择,有点想homebrew在macos。总的说来,一些是工具,一些是运行依赖吧。个人是这么应用的

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

刚刚我稍微加了点具体的缺点: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会慢

本站用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了

3 个赞

你说的启动时间 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 个赞