Emacs新手的疑问和困惑

现有使用的开发工具,前端开发使用VSCode、后端开发使用IDEA、python数据挖掘使用pythCharm,

因为开发需要使用多个编辑器所以想着使用一个编辑器开发, 我苦苦寻找发现了Emacs, 自己学习使用Emacs倾注了很长时间精力, 但是感觉自己门都没进去,不能正常使用开发代码。

大家有什么好的建议吗?

2 个赞

后端代码不清楚

前端的话 vue react ts 我用 Emacs 都没啥问题

先是看一遍 Emacs 的基本操作:

说起来 Emacs 好像没有 Vim 那样的 30 分钟 tutorial ? 这里推荐 Mastering Emacs 这本书,

或者看 Emacs 内置的 Emacs 文档 :Ctrl-h i 打开 Info,然后输入 m 打开 menu,查找 Emacs (关于 Info 的用法,可以在 Info 中输入 ? 查看)

  • 怎么移动光标,
  • 怎么打开文件编辑,保存
  • buffer,window 的一些概念
  • 怎么复制,粘贴(kill-ring),撤销重做

然后先找一份成熟的配置用起来,例如

可以看点教程:

最初就是先用别人的配置先强迫自己用起来,然后一段时间就会习惯在 Emacs 里的操作。

关于配置的使用就可以去看看配置中的配置文件,了解一些快捷键的用法,久而久之就满足自己使用了。

Emacs 很多键都不需要记住,记住如 Ctrl-h i 查看 info,Ctrl-h k 查看快捷键的说明等,不会就查就好了。

或者你需要找到一些切入点,例如有人喜欢用 org-mode,有人喜欢里面的 magit ,然后用起来。

学习过程中,你可能会碰到很多英文,如果对英文不熟悉,网页的话可以用 Immersive Translate

Emacs 中可以用:

这样在 Emacs 中看相关 info 就不会很吃力。

最近的 AI 也很好用,有什么问题就问问 AI,也能得到一些提示和帮助。

3 个赞

好的,感谢解答困惑提供思路,我重新确定一下自己的学习方向,尽快的用起来。

加油,祝你找到使用 Emacs 的乐趣~

开发 java 也没啥问题,也可以 debug。

使用 Emacs 本质上来说是在操作各种 Lisp 对象, 调用各种 Lisp 命令.

在没有大致学会 ELisp 之前使用 Emacs 就像在黑暗中摸索.

我们项目都是C语言,一开始是用source insight的,用了两年多,总感觉写代码各种不顺手…但是也只能忍着。

后来还是想用一款全键盘的编辑器,看了一轮YouTube的入门视频教程之后,边用source insight边用spacemacs,后者由于不熟悉,用起来总是很笨拙,一个动作往往要想一下才开始按,或者手忙脚乱按错了。于是在需要效率的时候恢复用source insight避免影响工作,其余时间都在强迫自己用spacemacs…

这样持续了一个多月之后就可以完全用spacemacs写代码和阅读代码,再也不用打开source insight了。

然后发现用doom emacs更快,就又习惯了一下它的快捷键用起来,后面自己改快捷键迎合自己的习惯,一直用了3年了,觉得非常顺手。

很多道友建议从零开始配置,这样有好处,不受任何成熟配置的影响,完全按自己最喜欢的样子来定制,不好的地方就是,很难让没有用过emacs的人短期内将它配置到能作为生产力工具(可能只是我做不到)。 而用成熟的配置的话,好处就是去熟悉它的基本配置思路,熟悉快捷键,基本就能投入日常工作了,坏处就是有时候想改一些东西不知道该去哪里找,增加了一些包的话,不知道哪里引起冲突了。

2 个赞

确实是,现有的情况是想着用起来,但是因为各种学习之后,自己选择了spacemacs,但是上手的时候很多功能,不是很了解就是使用的笨拙,因为涉及到生产开发,因为有时间问题,emacs的功能一直也没用起来。

你需要先强迫自己使用emacs才能熟悉它,这里的使用不是仅仅配置,是指拿它来写代码或者记笔记

然后就慢慢会发现吸引你的点了

像emacs对我来说就是一个很不错的笔记软件,目前我正在尝试将它作为我的代码编辑器使用(我同时也是neovim用户,代码都是用neovim写)

刚开始你需要了解你需要什么功能,然后再去配置它,如果你现在用不上,绝对不要直接抄别人的配置

后端py用emacs没任何问题,用basepyright就可以

然后就是预配置的问题,如果你能习惯预配置就可以去使用

预配置的好处就是自己无需考虑整体配置,只需要学习预配置就可以,缺点是如果自己要更加自由的拓展会受到预配置的限制(你需要考虑和这些预配置是否会发生冲突)以及调试配置问题的成本会增加

3 个赞

你说的这些场景用 vscode 都能解决。。

我个人的经验是先配置好 evil 和 company,能保证基本的开发; 然后配置 ivy 和 helpful,善用帮助(C-h), 想探索某些功能时在 M-x、C-h f、C-h v 和 package 列表里靠感觉忙搜, 剩下的多用就会了。

是的,为什么选择当时也是为了学习占一部分因素,从使用的学习,还有就是自由软件的因素在。

emacs入门确实很有难度,大多数新人就局限于看完那个类似vim tutorial的文档,知道按ctrl-n是下一行,按ctrl-p是上一行,ctrl-f是光标前进一个字符,ctrl-b是光标回退一个字符。也就仅此而已了。

更进一步的可能去网上下了一份某某知名配置,然后用了起来。但这些距离能自己随心调整配置,还差的很远,这确实是个难题。

我觉得这位讲得非常好,可以参考

是的,我学习下有什么心得我在分享

好的我再试试