1 Emacs 与 Magit

不知不觉,我已经使用Emacs 快10年了,在我使用过的编辑器中,Emacs是扩展性最强的编辑器,毕竟Emacs是个披着编辑器外衣的Lisp虚拟机。

在Emacs无所不能的扩展性之下,诞生了非常多强大的插件, 也让Emacs有了「伪装成操作系统的编辑器」的美名,而Emacs公认的杀手锏插件有两个,一个是 org-mode,另一个是 magit. (我个人觉得还有个 dired)

Orgmode是类似Markdown,与Emacs深度绑定优化的标记语言,使用Emacs来编写org-mode 文档就有下笔有神,文思泉涌,如丝般顺滑(这篇文章也是用org-mode写的)。

因为org-mode 与Emacs 深度结合,自然无法脱离Emacs单独使用,而其他编辑器模仿org-mode 开发的插件,如 vim-orgmode, nvim-orgmodevscode-orgmode, 难免只得其形,未得其神,还不如用Markdown.

而 Magit 是 Git的Emacs图形化客户端, 也是我用过的最好用的Git 客户端软件,既直观又易用(看看Emacs 道友们夸 Magit 的帖子):

虽然我已经用了Emacs很多年,但是已经过了Live with Emacs的境界, 不会用Emacs处理所有事情, 比如用VSCode 写Rust, 用Intellij Idea写Java, 既然 Magit 那么好用,有没可能独立于Emacs使用呢?

2 Emacs daemon

作为无所不能的「操作系统」, Emacs 作为server 一直在后台运行,然后再使用 emacsclient 连接 server:

前文提到, Emacs 是批着编辑器外衣的Lisp VM, 而 Magit 本质也只是一个 lisp function, 只要在启动emacsclient的时候,再调用 magit的函数, 那么就可以启动 Magit:

1
alias magit="emacsclient -nw -eval '(magit-status)'"

这样就可以在VSCode和Idea里面愉快地使用 magit了.

3 总结

在Emacs-China 论坛搜索Magit的时候, 发现了也有一个帖子讨论把 magit当作的单独的工具, 没想到有个回复的思路和我一样,使用Emacs作为daemon 来启用.

只是没有想到他更evil, 在Nvim 里面使用Magit, 我也学习一下 Nvim+Emacs 的组合 :)

4 参考