有一阵子我用的时候会频繁调整文件,我希望通过 /drop
和 /readonly
一定程度上去控制这次 session 的上下文,减少 token 使用(sonnet 还是有点贵)(更彻底的办法可能是直接 reset 重来)
目前 /drop 有文件补全,比以前方便一些啦。
但文件补全是从 git 根目录开始的,我还需要敲对应的文件名。
当目录层次比较多的时候,就增加了需要记忆目录的心智负担,虽然看着 /ls
的文件路径慢慢敲也行,但还不够方便。
我之前的另一个办法和你说的差不多 (流程 A):
- 我通过
/ls
列出所有文件,复制到 prompt file - 通过
string-rectangle
统一在前面添加/drop
,个别文件我可能再改成/readonly
- 修改之后执行
C-c C-n
,让它们逐行执行
但光看我描述就会觉得上面的过程有点繁琐。
要 /drop
的肯定是 /ls
中包含的文件,或许部分文件还会想设置为 /readonly
。
所以我就在想,一个更方便的方法是:
- 先列出当前所有的文件(通过
/ls
返回所有当前的文件) - 然后逐一标记 (类似 magit rebase 的方式,直接在行上输入对应的快捷键)
- 最后执行标记动作。
这样可以减少我上面流程 A 中,第 1,2 步要做的事情,更容易操作一些。
操作流和 magit rebase 一样的话,我想用过 magit rebase 的人只要用一次就会知道怎么用,不需要什么额外的引导。
我经常用 magit rebase,我觉得它的流程很好。
我选择从哪里开始 rebase,我选择的就是我想改的,它都给我列出来,然后选择每个 commit 对应需要的处理,最后执行 C-c C-c
确定,或者 C-c C-k
放弃。
不过或许是有点小题大做