最近还是想基于自己的需求来从头攒一套配置,但是读了陈斌老师的博文之后,他文中给出的建议是不要自己从头攒配置,站在巨人的肩膀上,抄就完事了。
其实对于抄配置这件事,我还是很认同的,但是痛苦的事情来了:抄来的配置,我读不懂啊……入坑以来,我泛泛地看过子龙山人、Kamansky还有波兰人Zaiste的教程,但真到了看实际代码的时候,实在是不够用……经常冒出我完全没有见过的语法、变量和函数,在读的过程中举步维艰;而且另外,大神使用的一些package,到了我这里,我也不知道为什么要用这个包、用了这个包能排上什么用场。
应该怎样循序渐进地加深自己的理解,攒出一套自己能看得懂的配置呢?
1 个赞
我觉得fork centaur 或者陈斌的 GitHub - redguardtoo/emacs.d: Fast and robust Emacs setup. 然后看看简单的elisp指南删删改改就好。
fork一份先用起来,有需求或者哪里用的不爽就加加改改,很快就会熟悉怎么配置的。(我是推荐不用和上游保持同步,偶尔手动merge一下就好。
2 个赞
我觉得配之前可以先把原生的 Emacs 学了,Emacs 自带的功能和概念挺多的。其实起步的时候是完全可以用一个原生的 Emacs 来做开发的,Emacs 的扩展,使用其实是围绕着 Emacs 本身来的,而不是一上来就要把 Emacs 变成个别的编辑器。
2 个赞
我是建议直接用原生的Emacs刷一遍官方的Tutorial,启动页面就有。完成后,对Emacs的基本操作熟悉了,就可以直接用成熟配置了。不然原生的用太久容易失去信心😀
成熟配置楼上的都已经推荐过了,自己逐个尝试,然后选一个长期用。我当时是直接用Purcell的,因为他的配置是尽可能使用原生按键。如果你同时也是vim用户,那建议你选陈斌的配置或者doom试试看。
等你用起来了,知道自己需要什么功能的时候再自己攒吧。
1 个赞
wsug
6
"抄来的配置,我读不懂啊"
,"经常冒出我完全没有见过的语法、变量和函数,在读的过程中举步维艰"
,"大神使用的一些package,到了我这里,我也不知道为什么要用这个包、用了这个包能排上什么用场"
, 感觉情况和我差不多,我也是这样
”攒出一套自己能看得懂的配置"
,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 到攒一份属于自己的从零配置
用了三个月的时间(后面有相关时间线能说明我大概用了三个月), 我讲一下自己的过程:
- 首先, 我在使用 emacs之前使用的是 vim, 所以我一上来先挑选一份已经十分成熟可用的 emacs starter 配置, spacemacs 和 doom-emacs 之间, 我选择了 doom-emacs, 因为 emacs telegram 的群友们大多使用的是 doom.
- 安装启用 doom, 将doom文档通读一遍, 将doom文档中推荐的文章以及youtube视频教程全部看一遍.
- 中间如果有问题, 到emacs 论坛以及 emacs telegram 群组提问. emacs 中文社区是我见过的素质最高, 大牛最多, 异常活跃的社区.
- 将doom which-key 中的每一个快捷键背后的指令全部按一遍, 了解一下 emacs 大概能干多少事情.
- 在对doom 使用得比较熟练之后, 是时候从零配置, 挑一个安静并且空闲时间较长的日子, 我挑的是过年的时候, 花了3-4天搞出了一份满足自己日常需要的配置. 过程中需要不断地google, 很多问题的解决方案都会指向 stackoverflow.
这时候是 12 月份, 刚开始对 emacs 不熟悉, 在灌水帖不小心对大神aboabo表达了一下自己的不满(我在写这篇灌水帖的时候并不知道 aboabo 之于 emacs 的分量): 倡议: 插件开发者尽量要写"用户友好"的文档(不一定要有, 有了更好).
这时候是2月份, 过年的时候搞了自己的从零配置, 在论坛发的帖子: 使用doom-emacs三个月后, 春节期间从零配置一份自己的emacs(附详细文档) - #2,来自 wangggong
github 上有全部配置以及详细的从零配置完整文档: imy-emacs.d/configure-emacs-from-scratch.org at main · Imymirror/imy-emacs.d · GitHub
1 个赞
这个 抄
那是相当有深意的 它并不是说让你直接把别人的某些配置直接 copy/paste 过来用,而是根据它配置的内容,根据自己配置大背景修改融合进来(根据自己之后的使用要进一步调整和删改)。我相信绝大多数 Emacsers 的配置都是“抄“来的,抄+修改 就是我们攒自己配置的过程了。
1 个赞
大部分 emacser 都是这么过来的,我的配置很早以前是抄懒猫的,关键是你要理解你自己的配置
1 个赞