看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 已经开了两年半了
不错。不过在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.
大概是像这样
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]>
后面还有很多
流程:
- 邮件告知同意GPL,自我介绍和为什么要贡献Emacs
- 签署纸质FSF协议,现在好像电子版就行了
- 插件和代码收纳进Emacs后,名字和邮件就可以加入 Emacs 的 AUTHORS 文件
最好找个认识的Emacs开发者帮你提交代码,这样比较快。
menu-bar tool-bar scroll-bar也会影响一点启动速度