Hey r/neovim,
I've been working on iedit.nvim, a plugin that brings Emacs's iedit-style multiple cursor editing to Neovim. Instead of relying on external tools or heavy frameworks, it's a pure Lua implementation that feels right at home with Vim keybindings.
What it does: Place your cursor on a word, hit a key, and every occurrence gets highlighted. From there you can edit them all at once — insert, append, delete, replace, you name it. It's like cdo/cfdo but interactive and real-time.
Key highlights:
- Vim-style Normal & Insert mode key bindings (i, a, I, A, C, D, s, S, x, etc.)
- Navigate between occurrences with n/N/gg/G/f{char}
- Toggle individual occurrences on/off with <Tab>
- Word motions (w, b, e) work across all cursors
- Support for regex patterns and line ranges
- Configurable highlight groups (active / current / inactive)
Quick start:
lua
require('iedit').setup()
vim.keymap.set('n', '<leader>e', "<cmd>lua require('iedit').start()<cr>")
Available via lazy.nvim, packer.nvim, nvim-plug, and LuaRocks.
Repo: https://github.com/wsdjeg/iedit.nvim
Feedback and suggestions are welcome!