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

看doom的wiki,doc里面作者有回答这个问题

大佬,ediff的问题是:

1)不能把所有的差异都按字符维度显示出来,而且默认只高亮当前行。要高亮所有差异的行也可以,就是非常慢。感觉是先用diff比较文件找到有差异的行,然后再用elisp又对差异的行比较了一遍,所以效率很低,很慢。

2)删除的行不像vimdiff一样显示。

3)没有差异的行默认也不折叠。

vdiff其实也可以用,但是比vimdiff慢。所以在win10上diff2个文件,还是gvim好用,选择2个文件,右键菜单直接比较,速度很快。

我的还可以,就是第一次慢一点,doom主要更新太快了,有时候更新下就发现不能用了。。。这个感觉还是稳定好一点

这个是,我也是习惯了这个。。。vim上同事他们一般用的fzf和ag配合,看起来也可以

fzf我试了,实在没有EMACS的方便,可以各个维度搜索:当前文件夹、项目、所有访问过的、最近访问的等等,用习惯还真不好改,虽然很羡慕vscode的性能,但是就是projectile、magit等这些工具实在太好使啦:joy:

我发现就是组件的加载其实很快,但是设主题和字体的时候就用掉很多时间。

我这里设字体要0.2+s

切换到 doom-emacs 才发现, 原来用 spacemacs 的 hybrid 模式的人这么少吗? 我一直以为是主打功能来着? doom 下用的各种不舒服, 奈何颜值即正义.

这个 issue 已经开了两年半了

vimdiff 无论在特性还是效能上,都一骑绝尘。

https://macplay.github.io/posts/the-power-of-diff/

@georgealbert @redguardtoo

2 个赞

不错。不过在8.1才有,

commit c93262b2e3fb043c685bd4014a35a29111dea484 (tag: v8.1.0363)
Author: Bram Moolenaar <[email protected]>
Date:   Mon Sep 10 21:15:40 2018 +0200

    patch 8.1.0363: internal diff isn't used by default as advertised

    Problem:    Internal diff isn't used by default as advertised.
    Solution:   Add "internal" to the default value of 'diffopt'.
                Also add couple of files missing from the distribution.

commit e828b7621cf9065a3582be0c4dd1e0e846e335bf (tag: v8.1.0360)
Author: Bram Moolenaar <[email protected]>
Date:   Mon Sep 10 17:51:58 2018 +0200

    patch 8.1.0360: using an external diff program is slow and inflexible

    Problem:    Using an external diff program is slow and inflexible.
    Solution:   Include the xdiff library. (Christian Brabandt, closes #2732)
                Use it by default.

My vimrc:

if v:version > 800
  set diffopt+=indent-heuristic
endif

看起来现在都采用 git 的 diff 库,不知道 emacs 这边有没有考虑

如果这里哪位同学想在Emacs代码里留下自己的名字,这是一个好机会。只要把libxdiff的 indent-heuristic 算法搬过来(Git team已把此算法作为默认实现)就行了。libxdiff也是C写的,所以技术上是可行的。

Hybrid 用多之后发现不用 evil 对我也没区别。

哈哈哈, 其实我用的最多的也就是 hjkl, spacemacs 一些细节处理的还是不错的

emacs什么地方可以留名字…没注意到哪里啊?

redguradtoo 的意思是成为 emacs 的贡献者,如同当年 manateelazycat 大牛写的 org-w3m 插件被 emacs 集成。

了解~ 之前签过EMACS的FSF assignment,却没听过redguradtoo说的. contribute code也就纯code.

1 个赞

大概是像这样

emacs/ 吉 > git shortlog --summary --numbered --email
 20575	Richard M. Stallman <[email protected]>
 11832	Glenn Morris <[email protected]>
  9769	Eli Zaretskii <[email protected]>
  8401	Stefan Monnier <[email protected]>
  6467	Kenichi Handa <[email protected]>
  5823	Paul Eggert <[email protected]>
  5239	Chong Yidong <[email protected]>
  4803	Gerd Moellmann <[email protected]>
  4520	Juanma Barranquero <[email protected]>
  3767	Karl Heuer <[email protected]>
  3320	Dave Love <[email protected]>
  3025	Kim F. Storm <[email protected]>
  2559	Michael Albinus <[email protected]>
  1917	Lars Ingebrigtsen <[email protected]>
  1863	Miles Bader <[email protected]>
  1780	Jim Blandy <[email protected]>
  1508	Jason Rumney <[email protected]>
  1455	Juri Linkov <[email protected]>
  1439	Dan Nicolaescu <[email protected]>
  1421	Nick Roberts <[email protected]>
  1398	Jan Djärv <[email protected]>
  1284	Luc Teirlinck <[email protected]>
  1085	Andreas Schwab <[email protected]>
  1022	YAMAMOTO Mitsuharu <[email protected]>
  1011	Joakim Verona <[email protected]>
   978	Lars Magne Ingebrigtsen <[email protected]>
   977	Martin Rudalics <[email protected]>
   956	Jay Belanger <[email protected]>
   858	Alan Mackenzie <[email protected]>
   773	Chong Yidong <[email protected]>
   749	Pavel Janík <[email protected]>
   662	Dmitry Antipov <[email protected]>
   653	Dmitry Gutov <[email protected]>
   648	Katsumi Yamaoka <[email protected]>
   606	Carsten Dominik <[email protected]>
   585	Karoly Lorentey <[email protected]>
   583	Roland McGrath <[email protected]>
   574	Thien-Thi Nguyen <[email protected]>
   570	Noam Postavsky <[email protected]>
   467	Andreas Schwab <[email protected]>
   437	Francesco Potortì <[email protected]>
   436	Andrew Innes <[email protected]>
   433	Bill Wohler <[email protected]>
   420	Geoff Voelker <[email protected]>
   407	Lute Kamstra <[email protected]>
   399	André Spiegel <[email protected]>
   389	Eric S. Raymond <[email protected]>
   383	Sam Steingold <[email protected]>
   374	Leo Liu <[email protected]>
   349	Juri Linkov <[email protected]>
   320	Colin Walters <[email protected]>
   317	Philipp Stephani <[email protected]>
   312	Romain Francoise <[email protected]>
   304	Artur Malabarba <[email protected]>
   300	Xue Fuqiao <[email protected]>
   299	John Paul Wallington <[email protected]>
   285	Ken Raeburn <[email protected]>
   284	Mark Oteiza <[email protected]>
   283	Nicolas Petton <[email protected]>
   279	Vinicius Jose Latorre <[email protected]>
   268	Paul Eggert <[email protected]>
   262	John Wiegley <[email protected]>
   259	Markus Rost <[email protected]>
   250	Daniel Colascione <[email protected]>
   242	Adrian Robert <[email protected]>
   235	Simon Marshall <[email protected]>
   229	Tino Calancha <[email protected]>
   225	Stephen Berman <[email protected]>
   217	João Távora <[email protected]>
   207	Fabián Ezequiel Gallina <[email protected]>
   206	Reiner Steib <[email protected]>
   191	Michael Kifer <[email protected]>
   174	Erik Naggum <[email protected]>

后面还有很多

流程:

  1. 邮件告知同意GPL,自我介绍和为什么要贡献Emacs
  2. 签署纸质FSF协议,现在好像电子版就行了
  3. 插件和代码收纳进Emacs后,名字和邮件就可以加入 Emacs 的 AUTHORS 文件

最好找个认识的Emacs开发者帮你提交代码,这样比较快。

这是我当年贡献 org-w3m.el 时候签署的FSF文件,大家感兴趣的可以看看。

11 个赞

menu-bar tool-bar scroll-bar也会影响一点启动速度