抛砖引玉: 介绍命令行AI编程工具aider以及emacs集成aider.el

有一阵子我用的时候会频繁调整文件,我希望通过 /drop/readonly 一定程度上去控制这次 session 的上下文,减少 token 使用(sonnet 还是有点贵)(更彻底的办法可能是直接 reset 重来)

目前 /drop 有文件补全,比以前方便一些啦。

但文件补全是从 git 根目录开始的,我还需要敲对应的文件名。

当目录层次比较多的时候,就增加了需要记忆目录的心智负担,虽然看着 /ls 的文件路径慢慢敲也行,但还不够方便。

我之前的另一个办法和你说的差不多 (流程 A):

  1. 我通过 /ls 列出所有文件,复制到 prompt file
  2. 通过 string-rectangle 统一在前面添加 /drop ,个别文件我可能再改成 /readonly
  3. 修改之后执行 C-c C-n,让它们逐行执行

但光看我描述就会觉得上面的过程有点繁琐。

/drop 的肯定是 /ls 中包含的文件,或许部分文件还会想设置为 /readonly

所以我就在想,一个更方便的方法是:

  1. 先列出当前所有的文件(通过 /ls 返回所有当前的文件)
  2. 然后逐一标记 (类似 magit rebase 的方式,直接在行上输入对应的快捷键)
  3. 最后执行标记动作。

这样可以减少我上面流程 A 中,第 1,2 步要做的事情,更容易操作一些。

操作流和 magit rebase 一样的话,我想用过 magit rebase 的人只要用一次就会知道怎么用,不需要什么额外的引导。

我经常用 magit rebase,我觉得它的流程很好。

我选择从哪里开始 rebase,我选择的就是我想改的,它都给我列出来,然后选择每个 commit 对应需要的处理,最后执行 C-c C-c 确定,或者 C-c C-k 放弃。

不过或许是有点小题大做 :wink:

1 个赞