那些从 spacemacs 转到 doom-emacs 的 emacser,来说出你的故事

先贴自己的 Doom Emacs 配置:GitHub - forrestchang/.doom.d: Personal doom emacs configs

主要用来做任务管理,和写一些小的代码,大的项目还是用 Jetbrains 了(配置了一套和 Doom Emacs 一样的按键)。

之前用了很久的 Spacemacs,后来有一段时间没用,就直接换到 Doom Emacs 上来了,相比较之下 Doom Emacs 的配置方式更加方便一些,而且也提供了非常多的 macro,作者更新也非常勤快,基本问题都能很快回答。

2 个赞

我可能说的不太清楚,如果要使用evil,不但emacs本身用Ctrl_z可以切换,很多插件因为改成vim方式按键,也要通过Ctrl_z切换回emacs默认设置。

你可以使用

(evil-make-overriding-map map 'normal)

在evil normal模式里使用正常的emacs设置

ok,我试一下。

doom emacs要改成 emacs china的镜像应该怎么改呢

1 个赞
(setq package-archives '(("gnu-cn"   . "http://mirrors.tuna.tsinghua.edu.cn/elpa/gnu/")
                         ("melpa-cn" . "http://mirrors.tuna.tsinghua.edu.cn/elpa/melpa/")
                         ("org-cn"   . "http://mirrors.tuna.tsinghua.edu.cn/elpa/org/")))

放在 .doom.d/init.el 最开头

3 个赞
(setq package-archives '(("gnu"   . "http://mirrors.tuna.tsinghua.edu.cn/elpa/gnu/")
                         ("melpa" . "http://mirrors.tuna.tsinghua.edu.cn/elpa/melpa/")))

应该是这样的吧

4 个赞

话说这和spacemacs的设置不太一样

我觉得doomemacs配置更加清晰,比较容易自定义,而且打开速度确实快,编辑文件时也没有spacemacs的卡顿了

一直感觉vimmer没太大的别要切emacs。。。我如果不太习惯vim各种模式切换,其实也不会入了emacs的坑。。。

vim上有没有类似counsel-find-file和projectile之类的包,用习惯了这种查找文件的方法,换成vim文件都不好切换了,反而doom-emacs这种集两家之长,用起来很舒服

doom 不错,但是原生党用不惯,好不容易有个接近原生的 centaru,vimmer 也要拖他下水,太 evil 了

3 个赞

evil用着很舒服,用了n年emacs,默认的键绑定一直习惯不了。只有viper和evil的出现才让我从vim转到emacs。

vim和emacs几点小比较

1)字体显示。 emacs秒杀vim。emacs中英文可以用不同的字体。

2)vimdiff。 vim默认的效果比emacs好太多。emacs的ediff如果默认打开refine all hunk,比较差异,那速度慢得不得了。

3)go的lsp mode。 win10上的emacs经常性的报找不到package。neovim装coc.nvim,稳得不得了。但是linux上的emacs+lsp-mode就正常。唉。

doom上面启动快的原因是什么呢,为什么我自己也很多都是defer了还是要很久?

我的emacs在centos的虚机上,用Xming做x server,gui界面在2s以内可以启动,加载包括org-babel在内的90多个package。

win10上同样的配置一般3.5s左右。

ediff 见我的文章 Emacs is the best merge tool for Git | Chen's blog

1 个赞

总的来说就是延迟加载,有很多小技巧加一起就快了。Centaur 也采用了类似的技巧,启动速度个人很满意。

放心,Centaur 不会默认用 vim 方案的,喜欢vim的自己加 evil 配置就好了。

我希望Centaur能提供给其他用户一个选项:把自己的配置独立到一个文件夹方便vcs管理,尽量不修改 .emacs.d里的内容。

还有就是以我目前的水平实在弄不清楚 init.el, early-init.el,custom还有post这几个文件的逻辑和加载顺序。 :sweat_smile:

README 里有描述,个人用户就用 custom.elcustom-post.el。前者是在配置早期(init-custom.el),后者是在启动后加载(after-init-hook)。其实,如果对 Emacs 比较熟悉,都放在custom.el ,用 hook 或者eval-after-load控制就 OK 了。