
Vim Mcp
io.github.iggredible由 GitHub 账号 iggredible 发布v0.1.2更新于 Oct 24, 2026
Connect Claude Code to Vim/Neovim - query state, execute commands, search help, record macros
概览
将 Claude Code 连接到本机 Vim/Neovim 实例,让助手查看编辑器状态、执行 Ex 命令、搜索帮助并录制宏。
- 可以做什么
- 列出并选择正在运行的 Vim 实例,通过资源或状态查询读取其状态、缓冲区与标签页。在选中的实例中执行 Vim/Ex 命令,包括复杂的替换与宏。搜索 Vim 内置帮助以解答用法问题。根据自然语言描述录制宏。以安全、保存退出或强制退出三种模式退出 Vim。
- 适用场景
- 当你只能描述编辑目标而不知道具体 Vim 按键时适用,例如复杂正则替换、宏或帮助查询,希望 Claude 构造并执行命令。对于自己能更快敲完的简单操作则没有必要。
- 运行要求
- 以 npm 包(vim-mcp)通过 stdio 在本机运行。需要 Node.js 18+、带 +channel 特性的 Vim 8+ 或 Neovim 0.5+、Unix 域套接字支持(Linux/macOS)、对 /tmp 的写权限、已安装的 Vim 插件,以及支持 MCP 的客户端(如 Claude Code 或 Claude Desktop)。仅限桌面端。
安装
在 SourceWeft 中
- 打开 控制台中的 Vim Mcp,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
vim-mcp
Simple MCP (Model Context Protocol) integration for Vim and Claude Code.
Features
- Connect Claude Code to one of your Vim instances
- Query Vim state (buffers, windows, cursor position, etc.)
- Execute Vim commands from Claude using natural language
How it works:
- The MCP server starts a Unix socket server at
/tmp/vim-mcp-server.sock - Each Vim instance connects to the server as a Unix socket client
- Vim sends registration and state updates to the server
- The server maintains active connections to all Vim instances
- Claude Code communicates with the MCP server via Model Context Protocol
Demo
List and select Vim instance:
[List and select Vim instances]
You can (finally) exit Vim!
[List and select Vim instances]
For more, check out the demo wiki page
Why would anyone need this?
Ok, I get what it does, but why do we need this?
If you're trying to do basic Vim operations like typing "split the window in half" (24 keystrokes) vs running :sp / :vs (3 keystrokes), then you're better off without it. Where vim-mcp shines is when the number of keystrokes is unknown; when you can only describe what you want to do but don't know exactly how to do it. Things like complex regex/macros/lookups, help semantic search, etc. - it's faster to tell AI what you're trying to accomplish than trial-and-error. I think the word I'm looking for is circumlocution?
Here's one scenario where it may be useful:
Suppose you want to perform a complex Vim command that would otherwise take a long time to construct. Claude can easily do it if you can describe what you want to do. Maybe you want to substitute "(test foobar)" with square brackets ONLY IF they come after a 3rd-level Markdown header. That's not something I can easily cook up in seconds... but Claude can!
With vim-mcp, I can prompt Claude:
And that's it! When I did it, Claude came up with the g command and executed it for me.
Bonus: the executed commands are stored in the command history so you can go back and re-execute them or modify them.
What if you later decide, "Hey, I actually don't want to substitute them with square brackets [], I want to substitute them with curly brackets {} instead!" You can just access the command history (q:, :history, or : then press up/down) and make the necessary modifications.
So I did :, then pressed the up arrow a few times until I saw the command that vim-mcp executed, and changed it to :g/^### /,/^#\{1,3\} \|^$/s/(test foobar)/{test foobar}/g. Done!
Overview
For a detailed overview, see vim-mcp overview.
Tools and Resources
Tools:
list_vim_instancesselect_vim_instanceget_vim_statevim_executeexit_vimvim_search_helpvim_record_macro
Resources:
vim://instances- List of all available Vim instancesvim://state- Current state of the selected Vim instancevim://buffers- List of all buffers in the selected Vim instancevim://tabs- List of all tabs in the selected Vim instance
Installation
Prerequisites
- Vim 8+ with
+channelfeature OR Neovim 0.5+ - Node.js 18+
- Unix domain socket support (Linux/macOS)
- File system write access to
/tmpdirectory - claude code / claude desktop or similar tools that support MCP
Install the Vim Plugin
Using vim-plug:
Install the MCP Server
The MCP server is a Node project. You need to install the dependencies.
Option 1: Using the Install Script
The install script will automatically:
- Check prerequisites (Node.js and Vim versions)
- Install Node.js dependencies
- Attempt global installation of the
vim-mcpcommand - Show you the correct Claude Code configuration
Option 2: Manual Installation
If you prefer to install manually or the install.sh script doesn't work:
- Install Node.js dependencies:
npm install will also run chmod +x bin/vim-mcp
- (Optional) Install globally for system-wide
vim-mcpcommand (inside the/serverdirectory):
If this fails due to permissions or other reasons, you can skip global installation and use the full path in your config.
Configure Claude Code
After installation, add one of these configurations to your Claude configuration file:
If global install succeeded (if vim-mcp command is available):
If npm link failed:
Uninstall
To remove vim-mcp:
- Remove the plugin from your
.vimrc:
- Clean up the plugin files:
- Remove the global
vim-mcpcommand (if installed):
- Remove from Claude Code configuration:
Edit the Claude config file and remove the vim-mcp section from mcpServers
- Clean up temporary files (optional):
- Restart Vim and Claude Code to ensure all connections are cleared.
Quick Start
Step-by-Step Connection Process
- Open Vim instances (the plugin connects automatically):
- In Claude Code, list available Vim instances:
- If multiple instances are found, select one:
Things you can prompt
From the client (claude code), you can:
-
Manage instances:
- "List vim instances"
- "Connect to the first one pls"
- "Select the one with README.md open"
-
Control Vim:
- "Split into two windows vertically"
- "execute vim command "
- "HELP ME EXIT VIM!!!"
-
Search Vim help:
- "Search vim help for working with channels"
- "How do I use vim's quickfix list?"
- "Show me help on vim registers"
-
Record macros:
- "Record a macro that uppercases the first word and moves down 2 lines"
- "Create a macro to duplicate the current line and comment it out"
- "Make a macro that finds the next TODO and marks it as DONE"
-
Query about Vim:
- "How many buffers do I have?"
- "What buffers are open?"
- "What is my cursor position?"
- "Show me the current buffer content"
- "How many lines are in the active buffer?"
- "What language is the file written in?"
- "What windows are open?"
- "What is the realistic 10-year target price for BTC?" (jk)
vim-mcp can help you exit Vim!!
You can FINALLY exit Vim! Rejoice! The exit_vim tool provides safe exit functionality with three modes:
- Default (check): Checks for unsaved changes and warns you before exiting
- Save and exit: Saves all modified buffers and exits (
exit vim save_and_exit) - Force exit: Exits without saving, discarding changes (
exit vim force_exit)
Examples:
Note: this is a joke tool because many people have a hard time exiting Vim.
Vim Commands
The plugin connects automatically when Vim opens. However, you can do these from inside Vim:
:VimMCPStatus- Check connection status:VimMCPConnect- Manually connect to server:VimMCPDisconnect- Disconnect from server:VimMCPReconnect- Reconnect to server
Contributing
I'm still figuring out how to make this to be more useful. If you have ideas, please feel free to submit a PR!
来源:README.md,提交 1fc01b4
工具
0版本历史
1- v0.1.2最新Sep 16, 2026
评分
已满足适用检查项的 40%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
请在仓库或注册中心条目中声明许可证。