Windows 上面 Emacs 简易入门最佳实践

是不是没有安装中文字体?

我安装了更纱黑体的,我怀疑是不是编码问题,因为我把所有的编码改成了utf8

emax.7z 解压到home目录,压缩包有个根目录emax,是把这个放到home目录,还是它的子文件夹

放在Home目录

我是问把emax目录解压到home目录,还是emax下的子目录解压到home目录 不过我两个都试了,好像都没什么用,还是不能预览pdf

这个版本有什么优势吗?在windows下的启动速度和运行速度能比直接用msys2编译的更快吗?

不太明白你的问题,如果是pdf-tools找不到,你需要看下 exec-path是否设置正确。

(when (spacemacs/system-is-mswindows)
    (progn (setq find-file-hook nil)
           (setq vc-handled-backends nil)
           (setq magit-refresh-status-buffer nil)
           (add-hook 'find-file-hook 'spacemacs/check-large-file)

           ;; emax.7z in not under pdumper release
           ;; https://github.com/m-parashar/emax64/releases/tag/pdumper-20180619
           (defvar emax-root (concat (expand-file-name "~") "/emax"))

           (when (file-exists-p emax-root)
             (progn
               (defvar emax-root (concat (expand-file-name "~") "/emax"))
               (defvar emax-bin64 (concat emax-root "/bin64"))
               (defvar emax-mingw64 (concat emax-root "/mingw64/bin"))
               (defvar emax-lisp (concat emax-root "/lisp"))

               (setq exec-path (cons emax-bin64 exec-path))
               (setenv "PATH" (concat emax-bin64 ";" (getenv "PATH")))

               (setq exec-path (cons emax-mingw64 exec-path))
               (setenv "PATH" (concat emax-mingw64 ";" (getenv "PATH")))

               ;; install aspell: https://sheishe.xyz/post/using-aspell-in-windows-10-and-emacs-26-above/
               (add-to-list 'exec-path "C:/msys64/mingw64/bin/")
               (setq ispell-program-name "aspell")
               (setq ispell-personal-dictionary "c:/msys64/mingw64/lib/aspell-0.60/en_GB")

               ))

           (add-hook 'projectile-mode-hook '(lambda () (remove-hook 'find-file-hook #'projectile-find-file-hook-function)))))

可以参考这个设置看看

1 个赞

没有仔细对比过,不过这个版本的Emacs安装简单。

安装上感觉和官方的编译版本差不多了。
不过在Windows 用Emacs还是得安装msys2,比如需要通过它安装aspell,编译emacs-rime等。 我是按照这个安装指导编译的emacs master分支,过程还是很顺利的。
现在在Windows上使用Emacs最痛苦的是启动速度太慢,自动恢复session太慢,magit太慢。很想去尝试WSL,不知道WSL的体验是否会好很多?

恩,WSL会好不少,但是也带来了一些新问题,论坛有不少用户尝试了。我目前在Windows下基本只剩下使用Org了,其他任务尽可能切换到mac下来做。

在Mac上的Emacs使用体验确实很好,我现在也是尽量在Mac上用,但很多时候还是离不开Windows系统,苦恼。看来还是不折腾WSL了。

magit和session慢没什么办法,magit可以换用vc-git,session只能忍忍了.

启动慢可以靠dump解决。

在WSL2 里运行Emacs,在普通的坑填完之后,我还是遇到了:

  1. 需要单独配置中文输入法,原生Windows中文输入法无法在WSL GUI应用里输入的问题。
  2. 键盘响应延迟惊人。感觉按键下多了一个大号的弹簧。大概率是X Server的锅。我没有找到解决办法。

所以,使用WSL运行emacs,还是只能玩玩(对我来说)。

3 个赞

我觉得windows上msys2的体验最佳, wsl太重量级了, 总有些很难以解决的bug.

msys2跑Emacs也有坑,以前用cnfonts配置字体后,直接启动Emacs和用client+daemon方式启动,字体显示效果不一样,不知道现在是否还这样,此外还遇到过sdcv乱码和python源代码行末被添加^M的问题。

wsl当然也说不上好,有段时间老遇到方向键自动重复的问题,后来自己好了,不明真相,现在是偶尔复制的内容为空的,但重新复制一下就好了。

总的来说,Emacs还是在Linux下体验好些。

这三个都忍了,反正启动一次,一天不关Emacs。少折腾配置,就可以减少重启emacs的次数 :grinning:

这3个我都完美避开了 :hot_face:

我折腾配置和处理个人资料都是在wsl下弄的,前者是因为快,后者是因为我外接屏幕展示的时候用everything不会搜到不该搜到的资料.

其实之前干活也是在wsl下,后来要写一些图形相关的东西,没vs当调试器真的痛苦,就变成用windows下的emacs了 .

msys2的体验还是不错的,比windows原生emacs功能要强很多,性能和一些功能是坑点。

wsl的emacs其实功能是最全的、性能也是极好的,毕竟是虚拟机的,但是和windows系统的交互比较差。

所以纯编码就wsl,要干日常活、而且能够忽略功能坑点(比如doc-view)就用msys2.

谢谢,已经解决了,是解压缩不对