主要观点: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 b
checkout 分支、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) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。