multicursor.nvim
1,544
Stars
—
Forks
0
Watchers
—
Open Issues
待补全
许可证
Lua
语言
—
创建时间
最近更新
项目能做什么
Neovim 的多光标插件。
来源:AI 基于仓库事实生成
· 内容以仓库实际 README 为准
使用说明 查看原始 README 原仓库文档
中文使用说明暂未生成。下面保留原仓库 README 摘录,命令与配置均以原文为准。
原始 README 摘录(英文原文,节选前 3000 字符)
# multicursor.nvim
Multiple cursors in Neovim which work how you expect.
Now with help pages! `:h multicursor`.
https://github.com/user-attachments/assets/a8c136dc-4786-447b-95c0-8e2a48f5776f
## Features
- Visual and select modes with char/line/block selections
- Normal, insert, replace modes
- Undo/redo
- Virtualedit
- Autocompletion
- Snippet expansion (use `vim.snippet.expand`)
- Cursor specific registers for searching and yanking
- Match & split cursor selections with regex
- Transpose cursor selections
- Align cursor columns
- Easily extended with the Cursor API
- Works with most plugins and remaps
## Example Config (lazy.nvim)
```lua
{
"jake-stewart/multicursor.nvim",
branch = "1.0",
config = function()
local mc = require("multicursor-nvim")
mc.setup()
local set = vim.keymap.set
-- Add or skip cursor above/below the main cursor.
set({"n", "x"}, "<up>", function() mc.lineAddCursor(-1) end)
set({"n", "x"}, "<down>", function() mc.lineAddCursor(1) end)
set({"n", "x"}, "<leader><up>", function() mc.lineSkipCursor(-1) end)
set({"n", "x"}, "<leader><down>", function() mc.lineSkipCursor(1) end)
-- Add or skip adding a new cursor by matching word/selection
set({"n", "x"}, "<leader>n", function() mc.matchAddCursor(1) end)
set({"n", "x"}, "<leader>s", function() mc.matchSkipCursor(1) end)
set({"n", "x"}, "<leader>N", function() mc.matchAddCursor(-1) end)
set({"n", "x"}, "<leader>S", function() mc.matchSkipCursor(-1) end)
-- Add and remove cursors with control + left click.
set("n", "<c-leftmouse>", mc.handleMouse)
set("n", "<c-leftdrag>", mc.handleMouseDrag)
set("n", "<c-leftrelease>", mc.handleMouseRelease)
-- Disable and enable cursors.
set({"n", "x"}, "<c-q>", mc.toggleCursor)
-- Mappings defined in a keymap layer only apply when there are
-- multiple cursors. This lets you have overlapping mappings.
mc.addKeymapLayer(function(layerSet)
-- Select a different cursor as the main one.
layerSet({"n", "x"}, "<left>", mc.prevCursor)
layerSet({"n", "x"}, "<right>", mc.nextCursor)
-- Delete the main cursor.
layerSet({"n", "x"}, "<leader>x", mc.deleteCursor)
-- Enable and clear cursors using escape.
layerSet("n", "<esc>", function()
if not mc.cursorsEnabled() then
mc.enableCursors()
else
mc.clearCursors()
end
end)
end)
-- Customize how cursors look.
local hl = vim.api.nvim_set_hl
hl(0, "MultiCursorCursor", { reverse = true })
hl(0, "MultiCursorVisual", { link = "Visual" })
hl(0, "MultiCursorSign", { link = "SignColumn"})
hl(0, "MultiCursorMatchPreview", { link = "Search" })
hl(0, "MultiCursorDisabledCursor", { re
阅读完整原文
项目深度分析 AI 生成
Neovim 商业级预配置发行套件(开箱即用 IDE)
| 产品构想 | 整合 multicursor.nvim、LSP、调试工具等,打造面向从 VSCode 迁移过来的开发者的开箱即用 Neovim 商业配置与安装脚本。 |
| 核心功能 | 一键安装脚本、现代化快捷键映射(含多光标直觉操作)、团队级配置云同步、持续维护更新。 |
| 目标用户 | 想用 Neovim 性能但不想花费数周配置的软件工程师、技术团队。 |
| 难度/周期 | 中等 · 1-2 个月 · 成本:极低(主要是配置编写与跨平台测试机器成本) |
| 收费模式 | 按买断制销售终身配置授权,或提供配置订阅更新服务。 |
| 竞争风险 | 开源替代品(AstroNvim、LazyVim、LunarVim)极多且完全免费,用户付费意愿极低。 |
| 依据 | 已验证事实 |
开源赞助与赞助者专享功能/支持计划
| 产品构想 | 通过 GitHub Sponsors / Patreon 维持项目,为赞助者提供优先 Issue/PR 支持、定制 API 扩展或内测版功能。 |
| 核心功能 | Cursor API 高级用法示例库、专属 Discord/社区答疑通道、新特性投票权。 |
| 目标用户 | 高频使用该插件的 Neovim 重度用户、推崇独立开源开发者的工程师。 |
| 难度/周期 | 低 · 持续运营 · 成本:时间成本(社区运营与维护) |
| 收费模式 | 月度订阅式捐赠(Tiered Sponsorship,如 $5/$20 每月)。 |
| 竞争风险 | 赞助收入通常极低,难以覆盖全职开发成本,通常只能作为小额副业收益。 |
| 依据 | 已验证事实 |
多光标远程实时协同编辑插件服务
| 产品构想 | 基于 multicursor.nvim 的光标管理逻辑,扩展出类似于 VSCode Live Share 的终端级多人配对编程/协同编辑 SaaS 服务。 |
| 核心功能 | 多用户独立光标与色彩标记、低延迟 CRDT/WebSocket 状态同步、端到端加密、权限控制。 |
| 目标用户 | 远程办公的技术团队、结对编程工程师、技术面试官及考生。 |
| 难度/周期 | 极高 · 6-12 个月 · 成本:高(实时同步中继服务器成本、复杂分布式并发测试成本) |
| 收费模式 | 团队按席位月付/年付订阅(SaaS 模式)。 |
| 竞争风险 | 架构复杂度极高,需解决网络延迟、状态冲突和 Neovim 异步渲染问题;已有如 Floobits 等竞品先例但商业化难度大。 |
| 依据 | 尚需验证的假设 |
AI 基于仓库公开数据分析生成,含推测成分,不构成收益承诺。
报告会保存到 个人中心
竞品与相似项目 GitHub Search 真实检索
| 项目 | 中文简介 | Stars | 语言 |
|---|---|---|---|
| smoka7/multicursors.nvim | 中文介绍暂未生成 A multi cursor plugin for Neovim. |
641 | Lua |
| jceb/multicursor-mappings.nvim | 中文介绍暂未生成 Convenience mappings for neovim's multicursor functionality |
10 | Lua |
| ColasssNotMe/vscode-nvim-config-multicursor | 中文介绍暂未生成 multicursor config for vscode nvim |
1 | Lua |
| iamcheyan/multicursor-line.nvim | 中文介绍暂未生成 | 1 | Lua |
| NikolasHaaseGH/multicursor.nvim | 中文介绍暂未生成 | 0 | Lua |
| higorhgon/multicursor-nvim | 中文介绍暂未生成 | 0 | Lua |
以上为通过 GitHub 官方 Search API 检索的相似项目,功能差异与优劣势需进一步人工确认,配置 AI 后可生成对比分析。
项目优势与风险
| 技术成熟度 | 创建时间待补全,最近推送 |
| 社区活跃 | Star 1,544 / Fork 0 / Issue 0(数据支持,可自行核实) |
| 许可证 | 未检测到(需人工确认) |
| 主要风险 | 上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价 |
安装与使用
此项目未提供 Docker 镜像,安装步骤以原仓库 README 为准(涉及依赖安装与环境配置,对新手门槛较高)。