mcpField
D
dired

dired

github.com/xenodium生产力14794 次安装14 周前更新
代码仓库

关于 dired

dired 是一个用于将近期交互中相关文件打开到 Emacs dired 缓冲区的技能,适合使用 Emacs 的用户。它按文件所在目录组织选择,并通过 emacsclient 标记文件。

主要功能

  1. 01打开近期交互中的相关文件
  2. 02同目录文件在 dired 中标记
  3. 03跨目录文件汇集到专用缓冲区
  4. 04通过 emacsclient 执行

适用场景

  1. 01查看刚生成或编辑的文件
  2. 02集中查看最近工具输出中的文件

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/xenodium/emacs-skills --skill dired

安装后在 Claude Code 中输入/dired确认已加载。

附带文件agent-skill-dired.el

详细介绍

在 Emacs dired 中打开文件

使用 emacsclient --eval,在 Emacs dired 缓冲区中打开最近一次交互中的文件。仅包含与最近一次交互相关的文件(刚生成、编辑、列出或由最近一次工具输出产生的文件),不要包含整个对话中提到的所有文件。

策略

判断相关文件是否都位于同一目录,还是分布在多个目录中,然后相应地调用 agent-skill-dired。

  • 同一目录::dir 是目录,:files 是文件名。会在该目录打开 dired,并在上下文中标记这些文件。
  • 多个目录::dir 是共同的上级目录,:files 是相对路径。会创建一个包含所有标记文件的精选 *agent-files* 缓冲区。

首先,找到 agent-skill-dired.el。该文件与此技能文件位于同一目录,在 emacs-skills 插件目录下的 skills/dired/agent-skill-dired.el。

emacsclient --eval '
(progn
  (load "/path/to/skills/dired/agent-skill-dired.el" nil t)
  (agent-skill-dired
    :dir "/path/to/directory"
    :files (quote ("file1.txt"
                   "file2.txt"
                   "file3.txt"))))'

规则

  • :files 中使用相对于 :dir 的相对路径。
  • 相对于此技能文件所在目录,找到 agent-skill-dired.el。
  • 如果最近一次交互中没有相关文件,请告知用户。
  • 通过 Bash 工具运行 emacsclient --eval 命令。

评论

支持 Markdown