论如何一秒钟顶20年? 两步安装doom, 得到原汁原味的Emacs

在热帖看到回复, 觉得很有意思,

从github的两个热门配置(prelude and purcell)浪费了半年时间, 开始使用doom emacs后, 如鱼得水, 如十八岁得姑娘.

但是, 如果我第一天用emacs, 第一天撞了大运知道了本站, 但却仍然没有可能性在个把月之内用上doom. 因为只言片语散落在论坛里的各个角落。

如果是刚学会如何电脑开机, 用doom只需要1分钟.

  1. 安装
git clone https://github.com/hlissner/doom-emacs ~/.emacs.d
~/.emacs.d/bin/doom install
  1. 不要马上打开emacs; 用vscode打开文件 ~/doom.d/config.el

最上面添加一行, 保存后启动emacs.

;;Key Configuration for Doom as Vanilla Emacs
(setq evil-default-state 'emacs)

大功告成, 马上就会有这样的效果.

站在巨人的肩膀上, 一秒顶20年.

已经把 evil everythere 注释了,还需要这条命令吗

只从init中注释掉, 在我的机器上, 不管用,
最好加上, 双层保险.

用过spacemacs,你个人觉得两个哪一个从使用体验上更好一些?我现在还是使用spacemacs.

先说结论,弃坑spacemacs用doom.

原因1: spacemeacs, 顾名思义,用space键魔改emacs的内置绑定,这会给新人很大的困惑,因为与从官方文檔中讀到的完全不一樣, 從而从最起点就以為Emacs似乎特别难的假象,其实是spacemacs神经错乱;

原因2:原因1一票否决;

原因3:用spacemacs是因为在旧社会没有很好的第二选项;要们花费20年的时间,从零配置, 要么接受the stupid 键盘绑定

原因4:用doom, 如本帖标题(党)所示, 从doom中可以得到与emacs官方文档完全一致的emacs.

2020, 新年快乐。

1 个赞

新年快乐。

不能说完全一致,doom加了不少自己的抽象。实用是实用,但是需要额外学习

看了一下文档,还需要在 init.el —— “:config” 加入

(default +bindings)

这样可以获得一堆给原生党的 doom 功能推荐键位

https://github.com/hlissner/doom-emacs/blob/develop/modules/config/default/+emacs-bindings.el

新年好,

keybinding没有问题, 不会出现如spacemacs的情况,

比如读了emacs的教材, 发现M-, C-不能用, 只能再去读spacemacs文档.

我知道很多从来不用emacs的PyCharm用户, 装起X来, 张口闭口spacemacs.

曾经被误导, 很长一段时间以来, 一直以为, emac, spacemacs, aemacs, bemacs, demacs是不同的编辑器, 跟松树, 桦树一样后面都有个macs.

不需要, 什么都不做, 只要在config中加一行

;;Key Configuration for Doom as Vanilla Emacs
(setq evil-default-state 'emacs)

就能用了.

先用上, 要删除vim的package, 就从init中注释掉

   :editor
   ;;(evil +everywhere); come to the dark side, we have cookies

运行 doom refresh 会把vim包都删掉.

但这些是后面的事情.

1 个赞

这两步做完,我的 C-c 里面键位几乎是空的,像 projectile,workspace,multiple cursors,expand region……都要自己手写 map! 绑定,比较麻烦

咱们这个帖子是"从0到1"的topic,
从0到1很不容易,

从1到10. 到这里看看.

我举得连续按几个单键会比同时按几个键要快。尤其我手小,emacs的键位对我其实不太友好。

调整下键位呢? 比如Ctrl放到space旁边。

Emacs的键位是语义化绑定, 不需要记忆,即使有一千个绑定,5分钟看一遍,不必再看第二遍。

我脚得 利大于弊甚矣。

查看下这个帖子的讨论。

探讨一下,
首先我不用projectile和workspace, 如非必要, 勿增实体.
用bookmarks能很好的解决在不同项目间的切换问题.

projectile, 假设你clone了50~500个git repo, 完全失效, 没有用处, bookmarks则不然.

workspace, 用winner-mode, bookmarks以及tmux.

提出来workspace这个概念导致一心二用, 而且有较大的视觉干扰.

我本地就是用projctile管理100多个repo啊。。。

这是为甚么?我是一个project就是一个workspace,用C-;来切

本来就是options-based嘛, 我的观点就是用更少的工具.

与操作习惯也与项目和文件在大脑中具体结构有关. 比如是横向展开(左右摇头去看), 还是全部纵向展开,一镜到底, 等等.

workspace或者project这个概念完全多余,每个git repository自然就是一个project

2 个赞

project的切换你是怎么处理的

调用recentf时可以动态过滤掉和当前文件不在同一个git repo的文件或者路径。这个思路也可以延伸到其他和文件路径相关的命令,比如用fasd或者locate的命令。

1 个赞

给目录做个书签就完了