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

spacemacs

#42

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


#43

大佬,ediff的问题是:

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

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

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

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


#44

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


#45

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


#46

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


#47

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

我这里设字体要0.2+s


#48

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

这个 issue 已经开了两年半了


#49

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

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

@georgealbert @redguardtoo


#50

不错。不过在8.1才有,

commit c93262b2e3fb043c685bd4014a35a29111dea484 (tag: v8.1.0363)
Author: Bram Moolenaar <Bram@vim.org>
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 <Bram@vim.org>
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

#51

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


#52

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


#53

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


#54

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


#55

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


#56

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


#57

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


#58

大概是像这样

emacs/ 吉 > git shortlog --summary --numbered --email
 20575	Richard M. Stallman <rms@gnu.org>
 11832	Glenn Morris <rgm@gnu.org>
  9769	Eli Zaretskii <eliz@gnu.org>
  8401	Stefan Monnier <monnier@iro.umontreal.ca>
  6467	Kenichi Handa <handa@m17n.org>
  5823	Paul Eggert <eggert@cs.ucla.edu>
  5239	Chong Yidong <cyd@stupidchicken.com>
  4803	Gerd Moellmann <gerd@gnu.org>
  4520	Juanma Barranquero <lekktu@gmail.com>
  3767	Karl Heuer <kwzh@gnu.org>
  3320	Dave Love <fx@gnu.org>
  3025	Kim F. Storm <storm@cua.dk>
  2559	Michael Albinus <michael.albinus@gmx.de>
  1917	Lars Ingebrigtsen <larsi@gnus.org>
  1863	Miles Bader <miles@gnu.org>
  1780	Jim Blandy <jimb@redhat.com>
  1508	Jason Rumney <jasonr@gnu.org>
  1455	Juri Linkov <juri@jurta.org>
  1439	Dan Nicolaescu <dann@ics.uci.edu>
  1421	Nick Roberts <nickrob@snap.net.nz>
  1398	Jan Djärv <jan.h.d@swipnet.se>
  1284	Luc Teirlinck <teirllm@auburn.edu>
  1085	Andreas Schwab <schwab@suse.de>
  1022	YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
  1011	Joakim Verona <joakim@verona.se>
   978	Lars Magne Ingebrigtsen <larsi@gnus.org>
   977	Martin Rudalics <rudalics@gmx.at>
   956	Jay Belanger <jay.p.belanger@gmail.com>
   858	Alan Mackenzie <acm@muc.de>
   773	Chong Yidong <cyd@gnu.org>
   749	Pavel Janík <Pavel@Janik.cz>
   662	Dmitry Antipov <dmantipov@yandex.ru>
   653	Dmitry Gutov <dgutov@yandex.ru>
   648	Katsumi Yamaoka <yamaoka@jpl.org>
   606	Carsten Dominik <dominik@science.uva.nl>
   585	Karoly Lorentey <lorentey@elte.hu>
   583	Roland McGrath <roland@gnu.org>
   574	Thien-Thi Nguyen <ttn@gnuvola.org>
   570	Noam Postavsky <npostavs@gmail.com>
   467	Andreas Schwab <schwab@linux-m68k.org>
   437	Francesco Potortì <pot@gnu.org>
   436	Andrew Innes <andrewi@gnu.org>
   433	Bill Wohler <wohler@newt.com>
   420	Geoff Voelker <voelker@cs.washington.edu>
   407	Lute Kamstra <lute@gnu.org>
   399	André Spiegel <spiegel@gnu.org>
   389	Eric S. Raymond <esr@snark.thyrsus.com>
   383	Sam Steingold <sds@gnu.org>
   374	Leo Liu <sdl.web@gmail.com>
   349	Juri Linkov <juri@linkov.net>
   320	Colin Walters <walters@gnu.org>
   317	Philipp Stephani <phst@google.com>
   312	Romain Francoise <romain@orebokech.com>
   304	Artur Malabarba <bruce.connor.am@gmail.com>
   300	Xue Fuqiao <xfq.free@gmail.com>
   299	John Paul Wallington <jpw@pobox.com>
   285	Ken Raeburn <raeburn@raeburn.org>
   284	Mark Oteiza <mvoteiza@udel.edu>
   283	Nicolas Petton <nicolas@petton.fr>
   279	Vinicius Jose Latorre <viniciusjl@ig.com.br>
   268	Paul Eggert <eggert@twinsun.com>
   262	John Wiegley <johnw@newartisans.com>
   259	Markus Rost <rost@math.uni-bielefeld.de>
   250	Daniel Colascione <dancol@dancol.org>
   242	Adrian Robert <Adrian.B.Robert@gmail.com>
   235	Simon Marshall <simon@gnu.org>
   229	Tino Calancha <tino.calancha@gmail.com>
   225	Stephen Berman <stephen.berman@gmx.net>
   217	João Távora <joaotavora@gmail.com>
   207	Fabián Ezequiel Gallina <fgallina@gnu.org>
   206	Reiner Steib <Reiner.Steib@gmx.de>
   191	Michael Kifer <kifer@cs.stonybrook.edu>
   174	Erik Naggum <erik@naggum.no>

后面还有很多


#59

流程:

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

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


#60

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


#61

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