大佬们的配置都是怎么攒起来的鸭

最近还是想基于自己的需求来从头攒一套配置,但是读了陈斌老师的博文之后,他文中给出的建议是不要自己从头攒配置,站在巨人的肩膀上,抄就完事了。

其实对于抄配置这件事,我还是很认同的,但是痛苦的事情来了:抄来的配置,我读不懂啊……入坑以来,我泛泛地看过子龙山人、Kamansky还有波兰人Zaiste的教程,但真到了看实际代码的时候,实在是不够用……经常冒出我完全没有见过的语法、变量和函数,在读的过程中举步维艰;而且另外,大神使用的一些package,到了我这里,我也不知道为什么要用这个包、用了这个包能排上什么用场。

应该怎样循序渐进地加深自己的理解,攒出一套自己能看得懂的配置呢?

就我个人旳,巠歷了幾个旹期

  1. 直接用別人旳(攺攺 customize 就用)
  2. 抄 purcell 旳,但是一行一行,一个文件一个文件旳弄淸楚是作甚麼用旳(他沒有 lazy,很好讀懂
  3. 在 2 旳基礎上,从 0 開始到處抄,(當旹我用 use-package 重寫了一份)
  4. 3太過龐大,也有好多用不到旳,於是再次从0開始只寫了自己用得到旳
  5. 4 裏面還是太亂,啓勭也很慢(有印象 8s 徠著),硏究了下 doom,抄了抄有意恖旳
  6. 看到新package,感興趣就加進去試試,不行就刪掉
  7. 从 use-package 攺爲了 leaf.el (宏展開後比較容易讀)(重複 6
1 个赞

我觉得fork centaur 或者陈斌的 https://github.com/redguardtoo/emacs.d 然后看看简单的elisp指南删删改改就好。

fork一份先用起来,有需求或者哪里用的不爽就加加改改,很快就会熟悉怎么配置的。(我是推荐不用和上游保持同步,偶尔手动merge一下就好。

2 个赞

我觉得配之前可以先把原生的 Emacs 学了,Emacs 自带的功能和概念挺多的。其实起步的时候是完全可以用一个原生的 Emacs 来做开发的,Emacs 的扩展,使用其实是围绕着 Emacs 本身来的,而不是一上来就要把 Emacs 变成个别的编辑器。

2 个赞

我是建议直接用原生的Emacs刷一遍官方的Tutorial,启动页面就有。完成后,对Emacs的基本操作熟悉了,就可以直接用成熟配置了。不然原生的用太久容易失去信心😀

成熟配置楼上的都已经推荐过了,自己逐个尝试,然后选一个长期用。我当时是直接用Purcell的,因为他的配置是尽可能使用原生按键。如果你同时也是vim用户,那建议你选陈斌的配置或者doom试试看。
等你用起来了,知道自己需要什么功能的时候再自己攒吧。

1 个赞

"抄来的配置,我读不懂啊","经常冒出我完全没有见过的语法、变量和函数,在读的过程中举步维艰","大神使用的一些package,到了我这里,我也不知道为什么要用这个包、用了这个包能排上什么用场", 感觉情况和我差不多,我也是这样 :joy:

”攒出一套自己能看得懂的配置" ,elisp抄的代码即使当时看明白了,过段时间又看不懂了。后来我elisp不在直接写了,配置大部分都写在org-mode里,写org里面的缺点是代码重构困难,好处就是方便自己看得懂(别人估计没法看)

讲一下我个人的经历,很久很久以前,我从零开始用emacs(长达两年时间使用终端版),随便抄了点配置,甚至不知道spcaemacs,doom这些是什么(也没用过),就是在一些博客上随便复制点。

后来我学了common-lisp,然后我再一看这elisp,几乎是一模一样。看到没见过的函数之类的就到elisp manual里搜。

接着我又把emacs的手册看了(不是elisp手册,就是那个同样也很长的emacs manual),然后我就完全懂了。

接着就是去看看别人常用哪些插件,一个个了解一下,试一下,最后就弄出一套配置来了。

此方法适用于很闲的人。

我当初的文章的重点是使用成熟配置。不要浪费时间在配置自己很少使用的功能。尽快把工具用起来,改善实际的工作流才是关键。

每个人的工作流不一样,所以我不能武断地说那个插件有用哪个插件没用。不过观察下来大多数程序员可以从文本文件操作术这个角度入手。

文本文件操作术中搜文本和找文件是最基本的两个功能。把这两个功能练练熟开发就可以进行了。可以看看我的知乎专栏“如何提高编程速度”,我已写了很多文章有更具体的细节。

比如你可以用cousel-git-grep搜文本,counsel-git找文件。唯一的命令行工具就是git而已。配置够简单了。就是要懂命令行基本知识,能够设环境变量PATH让emacs找到git。命令行基本知识也很容易学,http://tdlp.org 上有很好的入门教程。

一开始我定的目标是自己尽量不配置,Lisp也不急着学。就是顺其自然。所以很长时间连lisp中的if语法都没搞清楚。后面用得久了开始给人报bug,简单的bug也能自己修一修。

写插件也是顺便的事情,evil-matchit一开始就是调用了smartparens的api的一段脚本而已。也没有什么架构和功能,就是能在html中用。后来觉得smart-parens不稳定,api限制多。才慢慢加功能到现在的样子。

心态放松,一切随缘有时候反而能走得更远。

4 个赞

我也是新手!大概去年疫情的时候开始用emacs。我的方法是先直接搜网上有解释的那些配置,拼成一个差不多的。然后用一段时间?用一段时间之后,就渐渐地有了一些探究的欲望了,然后再去整理已有的配置。把没用过相关功能的、迷惑的全部删掉。

比如我现在的配置就是非常简单,只有搜索、文件树、git(还是不太会用)这几个,然后为python、org、latex找了扩展。

前两天在一门工程伦理课上无聊,从某QQ群下载了一本讲elisp的书,两节课看了大概四分之一……感觉搜着API是可以实现自己的功能的!

个人感觉还是看用途吧。其实去年后面我大概是放弃了。但是总觉得vscode连服务器的效果不如开ssh用emacs写代码,所以才用到了现在。

我也来说一下啦!

我一上手就是用的原生Emacs,直接去抄配置,边抄配置边学Elisp,基本上配置上都不会有很多难懂的东西,如果有不懂的我就在TG群里问一下,里面的大佬给我解释的很清楚。后来我又用上了DoomEmacs,可是由于它太庞大,里面的机制我也不太会,正好那时候又放假,就自己整了一套配置,然后炒了Centuar Emacs的配置,Doom Emacs的配置,还有各位论坛用户的配置。最开始没有管启动速度,完全是把所有配置放在一个org文件里,通过org-babel来加载,后来攒到一定数量级别就模块化,并且在B站演示我的Emacs配置了,随后也就有一些小伙伴也来使用我的配置了,这时候我又引入更多的东西,例如主配置和私有配置隔离,支持了pdump。再到上学期,我凭着平时杂碎时间学的Elisp和抄配置学的技术写了一个学习英文的插件。现在呢主要就是靠平常积累的一些Emacs用户的Github关注来了解新的插件,并且感觉有用的都加到自己配置里了。但是还是很有必要系统学习一下Elisp和Emacs的,因为我发现现在的我仅仅是会配置一些插件,对于部分Emacs的概念还不是很了解。

我从基本不懂emacs 到攒一份属于自己的从零配置 用了三个月的时间(后面有相关时间线能说明我大概用了三个月), 我讲一下自己的过程:

  1. 首先, 我在使用 emacs之前使用的是 vim, 所以我一上来先挑选一份已经十分成熟可用的 emacs starter 配置, spacemacs 和 doom-emacs 之间, 我选择了 doom-emacs, 因为 emacs telegram 的群友们大多使用的是 doom.
  2. 安装启用 doom, 将doom文档通读一遍, 将doom文档中推荐的文章以及youtube视频教程全部看一遍.
  3. 中间如果有问题, 到emacs 论坛以及 emacs telegram 群组提问. emacs 中文社区是我见过的素质最高, 大牛最多, 异常活跃的社区.
  4. 将doom which-key 中的每一个快捷键背后的指令全部按一遍, 了解一下 emacs 大概能干多少事情.
  5. 在对doom 使用得比较熟练之后, 是时候从零配置, 挑一个安静并且空闲时间较长的日子, 我挑的是过年的时候, 花了3-4天搞出了一份满足自己日常需要的配置. 过程中需要不断地google, 很多问题的解决方案都会指向 stackoverflow.

这时候是 12 月份, 刚开始对 emacs 不熟悉, 在灌水帖不小心对大神aboabo表达了一下自己的不满(我在写这篇灌水帖的时候并不知道 aboabo 之于 emacs 的分量): 倡议: 插件开发者尽量要写"用户友好"的文档(不一定要有, 有了更好).


这时候是2月份, 过年的时候搞了自己的从零配置, 在论坛发的帖子: 使用doom-emacs三个月后, 春节期间从零配置一份自己的emacs(附详细文档)

github 上有全部配置以及详细的从零配置完整文档: https://github.com/Imymirror/imy-emacs.d/blob/main/configure-emacs-from-scratch.org

1 个赞

这个 那是相当有深意的 :dog: 它并不是说让你直接把别人的某些配置直接 copy/paste 过来用,而是根据它配置的内容,根据自己配置大背景修改融合进来(根据自己之后的使用要进一步调整和删改)。我相信绝大多数 Emacsers 的配置都是“抄“来的,抄+修改 就是我们攒自己配置的过程了。

1 个赞

大部分 emacser 都是这么过来的,我的配置很早以前是抄懒猫的,关键是你要理解你自己的配置

1 个赞

mark一下