主要观点:Lem 是一个基于 Common Lisp 的编辑器,其内置 LSP 支持可用于多种语言和模式。作者为 Lem 添加了 Git 交互界面(类似 Magit),目前可进行 Git 相关操作如查看状态、提交、拉取推送等,还支持 Fossil 和 Mercurial,且代码易探索、清晰有趣,鼓励新贡献者加入。
关键信息:
- Lem 可通过
(ql:quickload "lem/legit")加载legit,可用C-x g或M-x legit-status启动。 - 有
legit的操作手册,包括状态、加载、帮助、各种操作命令等。 - 交互式 rebase 可用于 Git 操作,绑定了一些快捷键,但“reword”和“edit”目前不支持且仅在 Unix 系统可用。
- 有关于 Fossil 和 Mercurial 的基本支持。
- 可进行自定义设置,如更改 Git 调用等。
重要细节: legit状态窗口显示当前分支、未跟踪文件、未暂存和已暂存更改、最新提交等,可通过g刷新。- 导航可用
n、p、M-n、M-p,切换窗口用M-o,退出用q或C-x 0。 - 暂存或取消暂存文件用
s、u,丢弃文件用k,提交用c。 - 分支操作有
b bcheckout 分支、b c创建新分支,推送和拉取分别用P p和F p。 - 在
lem/porcelain包中可自定义一些参数,如*git-base-arglist*等。 - 交互式 rebase 实现细节中通过 Unix 特定的 shell 脚本控制 Git 过程,目前仅 Unix 可用,Magit 似乎有不同做法。
- 显示数据和可操作链接通过特定函数和模式实现,如
(insert-string point s :read-only t)等。 - TODO 列表包括支持 reword、edit、显示重命名文件等更多功能。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。