求安利 emacs 使用技巧

我是一个 emacs 新人,当我在尝试使用 emacs 的时候,我发现我很容易陷入到 emacs 许多十分强大的插件的了解和配置中去。倒不是说这种行为不好,我确实通过了解这些插件增强了我对于我工作环境的了解和掌控力,但是我总觉得我的思想依然是一个很淳朴的状态。

我只是了解宏录制功能但是我从来没考虑用过(我也想不出来哪里可以使用);我知道 embark 但是直到看过这篇博客我才知道 embark 真正意味着一种更加面向对象的思维方式(这个博主的文章都好好呀,我就是想求这种类型文章的安利);我会分割窗口,调整窗口大小,但是我却不知道为啥要分出一个窗口来;我了解 dired 和 magit 的基本操作,但是我并不清楚如何将他们使用得更好;我也了解 C-u,……

我总感觉 emacs 在我哐哐一顿配置后变成了一个瑞士军刀,而我只是知道如何将剪子、刀子、螺丝刀从那个刀槽里掰出来,而不知道如何用瑞士军刀在野外求生,所以希望道友们教教 emacs 的使用技巧。

我隐约感觉有些技巧需要看视频才能学到。此外我感觉可能 emacs wiki 上多一些。我之前使用 vim 的时候看过《vim 实用技巧》,感觉非常棒,因为它不仅介绍了 vim 中的按键,同时介绍了如何组织这些按键进行高效的编辑(更进一步,即使抽离出 vim,高效的编辑应该是怎么样子的),不知道 emacs 有没有类似的。我还看过 B 站上的《emacs 轻奢之路》,感觉 UP 主提供了在缩减插件的情况下 emacs 应该是什么样子的,我也觉得很有启发意义。总之希望道友们多多安利,哪怕一个小点都可以。

如果有机会我也会将这个帖子里大家的安利或者说技巧整理一下发出来的。

2 个赞

用而不学则惘,学而不用则殆

一年成为Emacs高手 (像神一样使用编辑器)

你都说了 想不出来哪里可以使用

我原来也陷入过这个状态,每天不知道干啥的时候,就打开电脑,搜索“emacs使用技巧”。

后面清醒了,某个技巧即使学会了,也"想不出来哪里可以使用",而永远会有学不完的新技巧。于是就放弃了继续学习新东西的想法,而只是整理记录已经学过的东西,结果就折腾起了org-mode,而“整理记录已经学过的东西”这件事情至今也没能做好

如果你觉得没啥痛点,其实你并不需要那么多功能

3 个赞

自从把需要的包控制在100个左右,然后不断优化、更新、融合就好多了 ~ 主要还是在“用”上

  1. 可以先看站长的教程,也不用全部看完或者完全按照教程走
  2. 把自己的核心需求搞定,比如你自己常用的编程语言的环境配置到“自己认为”舒服
  3. 一直用,哪里不爽调哪里
  4. 平常没事看看大家聊的package
  5. 可以多了解了解内置的package
  6. 你会发现配置越用越少 :rofl:
  7. 遇到问题M-x toggle-debug-on-error / toggle-debug-on-quit / edebug-defun
1 个赞

先用 emacs 做好一件事,用的时间长了自然会发现不爽的点

最常见的比如每次都要 M-x 执行的命令,发现真的需要之后就绑个 key

不常用的比如 magit,之前如果在当前 window 执行的话有时候 window 切分的太小还要手动 C-x 1,就搜了一下加上 fullframe 每次执行 magit 自动占用整个 frame,退出后再还原之间的 window 布局(这个是读 prucell 的配置抄来的)

而 emacs 比较爽的就是想改的时候随便开个 buffer 然后 eval 一下就可以了,觉得好用就加到配置中

具体的技巧可以看看 emacs reddit, 上面每周都有 weekly tips & tricks.

哦, 对了, 想起来了. emacs 文档可以看 The Emacs Editor | Emacs Docs, 更现代化的 alternative. 内容是与官方是一样的, 但网页的组织, 排版, 导航很友好.

你是不是日常工作很少需要使用编辑器?你得首先找到日常的需求里面需要使用的场景再说。 我很早的时候尝试使用 vim 的时候就是这样,学习了一堆的技巧,甚至也会配置 .vimrc 了,但是日常工作基本没有使用的场景,所以基本都是配置完毕之后就不用了。这样学会的东西过几天自然就忘记了。

如果你编程时间比较少, 可以参考我的使用方式

我平常是怎么使用 Emacs 的?

当作 Keyboard OS 来使用。

我应该是用得挺多的,我是计算机专业学生,项目的码量大约一万上下,博客大概写了 40 万字。前几年经常很卷,学业压力也大,所以就很少琢磨工具的使用,基本上就是赶快把作业弄完了就完事了,在编辑的时候经常感觉很不舒服(就是脑子要比手快),但是一想还有很多作业和项目没写,“编辑的内容才重要”,就一直没有琢磨过。

我自己也是比较笨接触电脑比较晚,对电脑的“不听话”的耐受力也很强,甚至全选文本还是在上了大学一年后看同学操作才知道可以 Ctrl-a,我每次都是用鼠标。

也是因为好不容易有空了,所以想好好折腾一遍自己的工具,才发了这个帖子。因为“耐受力”很强(而且有的时候我深感我连编辑的需求都很模糊),所以我才想先学一遍,然后再慢慢反思哪些有用。

您说的很有道理,我会好好反思的,谢谢您。

就和学新的输入法一样,一开始肯定会比较慢。但是只要不是特别耽误事情,那就先忍受一下。然后尝试在这个基础上面提高速度。比如光标移动不够效率?那就去看看如何快速定位。比如搜索不够精准?那就去看看 consult 等等这些。比如当你编辑当前内容的时候,需要看其他的参考内容的时候,切分 buffer 的需求自然就来了,这肯定比你来回在 buffer 间切换来的舒服。慢慢发掘,这东西和使用习惯关系非常大。比如我即使学习了 magit 之后一些操作也还是习惯在 term 下面使用 git 命令,这不是什么大问题,找到自己舒服的用法就行,别看别人牛皮吹上天,那些都没用。

了解这些东西的基本哲学,然后,长期学习,慢慢来。不要想着一次性尽量学完,学不完的。批判性思维,想一想这些东西到底在干些什么,是不是你需要的,符不符合你自己的哲学。 大概浏览一遍文档,大概知道有些什么,等你真正需要的时候再去读文档。遇到觉得别扭的地方就去gogole吧,肯定有解决方案,因为你大概不是第一个觉得别扭的人。放轻松,这不是任务,只是好玩。另外,看看大家在怎么用emacs,也会有启发的。

1 个赞