用途:在正确的 Neovim 实例中打开文件并定位到指定行。技能会自动发现与当前工作目录对应的 Neovim socket,再打开目标文件。
主要能力:解析用户的文件路径与行号意图;自动进行 socket 发现(先检查 NVIM_SOCKET 环境变量,再通过 nvr --serverlist 查询活动实例并用 getcwd() 匹配当前目录或其父目录);支持相对路径、绝对路径与可选行号;支持自然语言请求(如“打开 database.py 第 45 行”“显示 config.yaml 中的 TODO”);无匹配实例或未安装 nvr 时给出可用实例和安装提示。
使用方式:基本调用为 bash $CLAUDE_PLUGIN_ROOT/skills/open/scripts/open.sh <file> [line],例如 open.sh database.py 45。底层打开命令为 nvr --servername <socket> --remote +<line> <file>。也可手动调用 /nvr:open database.py 45。找不到 nvr 时需执行 pip install neovim-remote。可用 export NVIM_SOCKET=/run/user/1000/nvim.custom.0 强制指定 socket,覆盖自动发现。
适用场景:在多个项目并行、同时运行多个 Neovim 实例时,按工作目录定位编辑器;把搜索结果(如 TODO 或报错行)跳到对应位置;承接对话中提到的文件。
限制:依赖 nvr(neovim-remote)与运行中的 Neovim 实例;无匹配实例时无法自动打开,只能提示可用实例或退回到显示文件位置;用户未给行号时需先搜索定位;文件不存在时需另行处理(如查找相似文件名、列出目录或询问是否创建)。相关技能包括 nvr:status、nvr:list、nvr:workspace。