确实。我有时也会去 option 里看看。但是 option 方式来配置 Emacs,在程序员圈子里会被笑话吧(代码是不是太差,连配置都不敢写
我到现在,倒还没找到怎么介绍 option 的文章。
我觉得 stallman 搞这么详细的 option,肯定有想着降低 Emacs 入手难度,而且让它广泛流传,让人人爱上计算机的理想——某种程度上,我觉得 Emacs 的著名插件,都有极其详细的教程,算是 Emacs 圈子里不成文的约定了。
确实。我有时也会去 option 里看看。但是 option 方式来配置 Emacs,在程序员圈子里会被笑话吧(代码是不是太差,连配置都不敢写
我到现在,倒还没找到怎么介绍 option 的文章。
我觉得 stallman 搞这么详细的 option,肯定有想着降低 Emacs 入手难度,而且让它广泛流传,让人人爱上计算机的理想——某种程度上,我觉得 Emacs 的著名插件,都有极其详细的教程,算是 Emacs 圈子里不成文的约定了。
你是做什么工作的?你平时是怎么用 Emacs 的呢?
考研失败的大四经管狗 刚开始学还谈不上怎么用,最近在EMACS里完成的工作大概是org-mode下写了实习报告,期间也是捯饬的时间更多,比如行号、shift选中、自动换行之类
下一步准备折腾的是切换buffer,默认的感觉不是太顺手,可能终于要开始抄配置了罢~
哈哈,加油。我现在想,可以用 option 的地方都可以先尝试用 option 来修改配置。
我觉得一开始就上spacemacs,doomemacs之类的挺好的,一来使用体验上有保障,毕竟好用才是最关键的;二来也完全不妨碍你学习emacs/elisp啊,相反还提供了更舒服的学习/编码环境,还能参与到这些社区中跟大佬学习。
赞同从 Spacemacs
等配置开始!
作为一个快40岁的非程序员,Emacs 已经成为我生命中不可缺少的东西了。Emacs 真的是一次投入终生受用那种。文本永不过时,尤其是完全在你掌控下的文本!我现在已经几乎弃用 Word、Bear、备忘录等等。
Love Emacs, Love Life!
spacemacs 和 doomemacs 适合有一定基础的人开始,对于毫无 vi/emacs 使用经验的人效果可能适得其反。
工具要匹配用户使用场景,否则再完善又有何益?杀鸡用牛刀,大炮打蚊子,过早引入不必要的麻烦。
我觉得能够开始考虑使用 Emacs
或 Vi
的人,应该基本可以定义为有一定基础的人,即使不具备这样的基础,如果能够安装并使用上,应该也获得了这样的基础!
不能这样认为。
当一个人决定用vi/emacs 通常只是看了别人的介绍觉得很酷,距离「有一定基础」还需要一段时间的摸爬滚打。在此期间慢慢建立起的认识,能解决一些小问题,对大问题力不从心。
如果一开始就spacemacs/doomemacs,过早陷入s/d 复杂迷宫,解决的是s/d 独有的问题,形成的思维概念也来自于s/d。恐怕跟其它用户交流会不太顺畅,我就常常看着有的s/d 用户的贴子不知道在说什么,毕竟这两个配置还没有占到统治地位。
https://emacssurvey.org/2020/is-your-configuration-based-on-any-starter-kit.svg
(emacs survey 2020调查结果)
**使用Emacs 需要深度参与(折腾),不是选一个配置就完事。如果配置与使用场景不匹配,折腾就成了白忙活。**很多人用了一段时间spacemacs/doomemacs,最后不堪其扰(常常更新出问题,跟自己无关的问题),又回归自主配置。
我认为的spacemacs/doomemacs 最佳使用时机和方式:
“工具要匹配用户使用场景”,就是因为对新手来说,把原生的emacs舒服地用在自己的使用场景下很有难度,所以才建议用成熟的方案。我自己就是新手,起码我个人感觉在一个成熟完善的配置上去做减法要舒服得多。您可能见过很多从spacemacs/doomemacs上手不堪其扰回归自主配置的例子,但是很可能有更多从自主配置开始结果啥都弄不好直接脱坑的路人。
脱坑的人都不是长期的Emacs用户,Emacs需要其用户自学能力很强,然后它回馈你完全自定义的计算环境和超高的集成效率。
如果用户弄不懂Emacs配置不了解Elisp语言,他迟早都会离开Emacs的。
我觉得对很多人来说先有一个好的使用体验才会有入坑的动力,从spacemacs/doomemacs上手和去了解emacs/elisp并不冲突。拿我自己来说如果不是用了doomemacs我可能就脱坑去用vscode了,在保证了平时可以舒服的使用emacs的情况下,我也就更有兴趣去学习emacs/elisp了。
我们的讨论的可能不在一个点上。
我没说 spacemacs/doomemacs 不能用。而是建议有一定基础再用。的确,s/d 可以让你免于从零开始构建一份配置。但它也会出错,也会有不合理的地方,但它的 core 代码复杂度远超一般的包,如果没有一定的基础很难改动。而你能求助的 s/d 用户数只占整个社区的 9%和16%。
我们一直都在寻找简单的包,从 lsp-mode 到 eglot 到 lsp-bridge,从 helm 到 ivy 到 vertico。配置的结构也应该越来越简单,扁平,而 s/d 在 Emacs 和包之间塞入了太多魔法,它即是让你感到舒适的缓冲带,也是绕晕你的迷障。
我不是程序员。对于非程序员来说,应该都是奔着 org-mode 来的。
对 spacemacs 和 doom 的感觉就是好复杂,不知道要怎么去改设置以满足自己的要求。
刚开始使用 Emacs的时候,装了 spacemacs ,想在它的基础上改点东西,就觉的很复杂,改键牵一发动全身的感觉,要搞点自己的设置,要写层 layer,然而当时对于什么是 layer 完全没头续,只能去看 spacemacs的手册,头大的很。
对 Doom 的使用最大的感受就是它启动快。最开始尝试它的时候,改字体,怎么改都不起作用,受不了就删了(后来搜,说是bug)。后来也断断续续的装了几回,但是试用不到一天就删,它的配置文件实在是复杂。目前看 doom 的配置也很难直接抄过来直接用。
目前我是自己写配置,这边抄点那边抄点。setq, add-hook , advice-add, define-key, globa-set-key, with-eval-after-load 大概这些,基本上就足够了,简单清晰。use-package leaf setup 这些都不用,配置很扁平。写宏什么的,不存在的,目前还不会。顺便说一句,目前我的配置启动时间是 0.56 s , doom 启动快的特点,也做到了。
回头看,我觉得spacemacs和doom 这类巨型配置不适合非程序员的Emacs新手用,是真的没法自己配置。看purcell的配置和Organize Your Life In Plain Text感觉更简单明了。
附上我的配置文件,Jousimies’s Personal Emacs Configuration。
对于新手来说,需要一个更能容易上手的 Emacs,比如说很多在其它编辑器默认统一的东西,在 Emacs 里也有类似的体验,这样才能用 Emacs 做一些基本的文本编辑工作,从而慢慢开始用上手,而不是折腾两下后完全不会编辑,就退坑了。
同为非程序员也现身说法一下我的 Emacs 之路。
从最早还是编辑 ~/.emacs
这个文件开始,慢慢的东抄一点西抄一点,你会发现,好像 Emacs 变”大“了,它能做的事更多了,它能解决更多的问题了。
当你用了一段时间,看了更多,有更多的诉求后,你会发现不满足。看着自己 ~/.emacs
里的那些杂乱无章的配置,你开始了第二阶段。也许你会把配置文件挪到 ~/.emacs.d/
里,开始用 init.el
。
又过了很久,你发现好像 init.el
还是挺杂乱的,不成体系,相比.emacs
好像也就是换汤不换药。于是,学习网上的大神们,把配置分模块,拆分成很多 init-xxx.el
然后统一在 init.el
里 require
。
随着你日渐学习和每天使用,你会发现越来越多的不适,越来越多的需求,你会有欲望想解决它,想让它更顺你的意。
这时你会看更多的 manual
,看更多网上优秀的配置,学会使用 C-h v/f/F
,你也学到了如何用 org-mode
通过文学编程的方式来更好地组织你的配置。这个阶段,也许你会尝试使用一个 emacs-config.org
文件来管理所有的配置。
你像是着了魔,整天沉浸在学习 Emacs 的快乐中。
经历以上的阶段,你Emacs依然在变大,但你会慢慢更加深入了解,你会尝试解决包之间的冲突,你尝试作选择,渐渐的,你慢慢的删除一些对你无用的包,你开始有主见的作选择而不是无脑的 copy-paste。
再接下来,你可能学会了如何在一个 org
文件中通过 tangle
配置模块化的文件,依然是文学编程,让配置一目了然,同时又能够模块化。与此同时,进一步的做减法,删除用不到的包,尽可能使用内置的包。用好 Emacs 的原生功能。你可能会作一些类似 advice
之类的个性化定制,你也可能对启动动辄 10+s
的启动时间心存不满,慢慢地学会使用 after-init-hook
。
也许再下一个阶段,是更深入的了解和掌握 elisp,能够看懂大神们写的包的源码,能知晓大多数的函数,此时,你已经有能力造轮子了,我想到那时,Emacs 一定能让你的生活充满欣喜(对,是欣喜,每当你使用它的时候,都会有一种愉悦感和欣喜感)。
而我,正在通往我心中的目标的路上。
PS:直到现在,我也没有使用过 Spacemacs 和 Doomemacs,记得以前听过一期关于 Emacs 的播客,比较 Vanilla Emacs 和 Spacemacs/Doomemacs,里面有个观点我很喜欢,学会和习惯使用最通用最流行的版本(GNU Emacs 以及原生键位),这样你不至于到了某个新的环境或者别人的环境一无所措。
但我尊重他人的选择!
倒不是说不会编辑,只是想折腾到好用的程度要很花时间
确实如此,当个玩具慢慢调呗。
感觉非程序员使用emacs大概率是在使用org-mode,我最初也是因为不想用office于是开始折腾org-mode入的门。
现在我还是不得不用office,主要是因为列复制和跨列复制的功能(excel中按ctrl后鼠标可以跨列复制),我折腾下来感觉 org table和html table 都不能很好的解决这个问题