闲聊,学习emacs的时候该怎样少走弯路

说明下我现在的状况

上学这段时间想学的语言越来越多了,随着我入坑Emacs两年的不断写代码,我开始对插件的需求越来越大,身为一个好学的人,当然想尝试下自己写插件…
到了现在我懒得弄了


想过去抄大佬们的配置,但是一堆我都用不到,又怕太占资源,就像写我写C++一样,老想着在这一块怎么省内存,提升运行速度
又怕一些代码造成影响,就像是
Firefox
在我的ubuntu上空转,占用整个CPU和内存,系统死机了


还有就是装一些包的时候,最怕遇到依赖地狱了,一个aptitude可能都把我的apt都给卸了,从Linux菜鸟到现在的Linux老菜鸟我已经重装过太多次系统了,别再让我去其他发行版了,我不做人了,JOJO!!
另外手动编译librime遇到一堆错误,关于boost版本的,试了几次,只能放弃了,作者又不给linux的二进制发行版

此时此刻我的心情

我着急写代码,需要补全,查错, 又舍不得Emacs,又对这个配置上手难度有点烦,
到我叛逃到IDEA的时候应该没人来抽我吧

那我想要什么呢

我倒是希望各位能告诉我在学习Emacs配置的过程中应该走哪些路,不该走哪些路,
时间有限,我现在只想掌握怎么用,而不是为什么会这样 ,我也不想知道他以前是怎么做的

大家有目共睹,用了use-package后感觉真香,配置包管理清爽多了
就像是jQuery写多了,生无可恋的时候Vue发布了
ps: 其实jQuery我压根没写过,看见那个$我就想把电脑砸了
简单来说,想要的是好用的工具,目的达成优先考虑


总之,重点是

  1. 不需要学Org-Mode
  2. 需要快捷,方便的工具
  3. 哪些必须学,哪些无所谓

一些比较难配置的怎么办

比如配置eclipse对Java的补全,看了看文档,就如同看了语文答案不想抄那样,死的心都有了
又比如lsp-install-server只给我四个,html-ls, css-ls, jsts-lt, ts-ls

其他工具怎么办

我觉得Jupyter Notebook不错,Emacs上已经有插件能与其交互,
可是为什么我谷歌不到多少中文教程,ein完全不会用,感觉成鸡肋了

最后

要是有练习就好了,学完了也不知道干嘛
最后祝大家周末愉快

1 个赞

Emacs 当个 Text Editor 没有比这个更好用的了,IDE 就用 IDEA 系列 没有比这个更好用的了。各司其职,不过度折腾,就很开心。

2 个赞

光是IDEA不给openjdk配置这一步,我就想把它卸了 :joy:

用好 company、yasnippet、lsp-mode 基本能满足楼主的需求。

1 个赞

ein很多时候不能取代jupyter notebook,至少目前不能,用jupyter+vim插件可能是更好的选择

求开箱完美就难搞了,你可以试试去提 issue

我觉得应该专注在 elisp 上面,而不是插件上面。

3 个赞

我觉得emacs还好,可以边学连用,要说难折腾,我觉得linux比emacs还要难折腾,楼主吐槽的这几个问题:firefox,ubuntu,apt,依赖地狱,发行版。这些也不是emacs的问题。

当我决定不在折腾linux,只折腾emacs时感觉要面对的问题少了很多,不用在考虑用那个发行版,不用在考虑依赖关系,不用再无数次的重装系统了…

当然不是说linux不好,linux上的emacs是最好的,但正如楼主所说时间有限,能少折腾就少折腾,我当初为了尽快上手把emacs用起来,就选择了在windows上用emacs,遇到的问题大多都能解决,无法解决的问题主要有怎么几个:没有一个全功能终端(用不了counsel-fzf等);没有webkit支持;用不了EAF。

个人经验仅供参考


lsp-install-server不知道怎么回事,只有这么几个,也不知道怎么更新

我的感觉,用 Emacs 要么吃现成的(i.e. 用大佬配置),不爽忍着;要么自己从扒拉配置开始,慢慢就会变成写 elisp 函数,然后改进别人的包,然后自己写包(你看通用配置作者基本都有几个包),根本停不下来。所以你这个情况我还是建议吃现成的 :rofl:

doom emacs不是挺好的,他每个module下面都有文档的,网上的教程也比较多。

具体怎么使用的话,我看你写js,可以看这篇帖子https://emacs-lsp.github.io/lsp-mode/tutorials/reactjs-tutorial/

不太推荐ein,我之前也用过,但是像我比较喜欢plotly(dash)的,就没法用,还是老老实实用browser,或者用vscode的插件都挺好的,毕竟原生就是js,支持好很多

我学习emacs的路线有点跟别人不一样。

我是使用两三个月左右就直接开始写插件的。连续熬夜半年左右写了接近5个插件。目前在melpa有3个。

通过学习elisp来学习Emacs是最好不过了。不会elisp,绝对玩不好emacs。

寻找一个你需要用Emacs的理由和场景,然后应用它,再不断的学习,尝试直接用elisp融合到工作中,用它代替部分的工作,取代你平时用到的语言。

当你回过头来修改自己的配置的时候,其实就跟呼吸一样简单。

然后这个时候再开始抄大佬的配置,你才会发现你需要什么,不需要什么。

我现在emacs也不怎么配置了,就算配置,也很快完成。一切都因为学习了elisp。

总结,短时间内集中攻破,不要打长久战。

10 个赞

看完楼主的帖子,不是特别清楚到底想学习 Emacs 的什么方面? Emacs 拥有长 达 40 多年的软件开发历史,目前还在积极开发。这样一个软件,有太多东西可 以值得去学习。前几天有用户想开发 Pdftool 相关软件,其中牵扯到反色问题, 就需要图像处理的相关知识;懒猫和其他开发者的 EAF ,则更是包罗万象, 各种各样的编程语言都可以在 Emacs 中有用武之地。

哪条路是弯路还是直路,只有在清晰定义的问题中才存在。回到这个主题,如果 楼主是想用好 Emacs, 我的建议是设定一个可执行且并不简单的目标。比如 @Dr_MING 提到设定写若干个插件的目标。比如懒猫曾经提到,一页一页读完 Emacs Reference Manual 。回顾我自己学习 Emacs 的经历,我当时设定的目标 是靠自己给出 An Introduction to Programming in Emacs Lisp 所有练习的答 案。后来帮助到 @xuchunyang 有关 Info Manual 的问题,就是我当时在做练习 的时候遇到的问题。其他的目标,比如把自己的 .emacs 放在 GitHub 上,完成 10000 次 commits;或者给自己经常使用的 packages 提交 100 个 Issues 10 个 PR 。至于说什么样的目标最适合楼主,每个人的心中都有自己的答案,懒猫 没有一个 Melpa packages 并不影响他的 Elisp 编程水平。

不过实现目标不是终极目标。完成目标的旅程中,享受每个时刻,才是。

2 个赞

多谢提点,这篇主要是闲聊 :slightly_smiling_face:

没有注册client吧?在 Centaur Emacs 里是这样的效果

额,具体该怎么做??

not agree more

只看精华, 没有一丝一毫的废话, 就没有弯路, 前面全是正路:

  1. 选一个著名配置先用起来, 比如 doom-emacs, spacemacs. 然后把该社区文档全部看一遍, 尝试一遍.
  2. GitHub - emacs-tw/awesome-emacs: A community driven list of useful Emacs packages, libraries and other items. 全部学习一遍.
1 个赞

撸起袖子干,干累了就歇会。