主要观点:作者时常想获取源代码的视口并用于询问 LLM,常使用chatgpt-shell的chatgpt-shell-prompt-compose
自动获取活动区域,为此探索了多种选择区域的方法,如expand-region等,还提到了avy、meow、easy-kill等包,作者对meow
的模态编辑暂未准备好尝试,easy-kill
的easy-mark
有类似内置mark-sexp
的功能,Avy
的avy-kill-ring-save-region
可用于目的但希望能保持区域活动,之后作者实现了在垂直方向扩展区域的函数bubble-expand
和bubble-shrink
,还实现了向上和向下移动区域的函数bubble-shift-up
和bubble-shift-down
,并通过bubble-expand-region
提供行计数的 UX,将这些整合为一个名为bubble-mode
的 minor mode,其键绑定包括C-c C-w
进入模式、C-p
扩展、C-n
收缩、S-C-p
向上移动、S-C-n
向下移动、Numbers 1-0
扩展 1 到 10 行、RET
退出模式,目前该模式仍在实验中且位于作者的 Emacs 配置仓库,最后提到可在github上尝试该模式,同时呼吁赞助以支持工作并介绍了lmno.lol平台。
关键信息:介绍了多种 Emacs 相关工具和操作,包括用于选择区域的包和函数,以及创建bubble-mode
的过程和键绑定。
重要细节:如各函数的具体实现代码、不同操作的效果展示图片等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。