macOS system-wide Vim keybindings and modal editor.
ovim has two independent editing modes:
| Feature | In-Place Mode | Edit Popup |
|---|---|---|
| Vim support | Basic motions, operators, text objects (see list) | Full Neovim with all your plugins |
| User config | In app configuration for widgets, ignore list | Uses your ~/.config/nvim |
| Speed | Instant | ~500ms (terminal startup) |
| App compatibility | All apps (with Accessibility permission) | Apps with Accessibility API or browsers |
| Use case | Quick edits, modal navigation | Complex edits, regex, macros, multi-line |
brew install --cask tonisives/tap/ovimDownload the latest .dmg from the Releases page.
git clone https://github.com/tonisives/ovim.git
cd ovim
pnpm install
pnpm tauri build
# Built app in src-tauri/target/release/bundle/Requires Rust, Node.js v18+, and pnpm.
- macOS 10.15 (Catalina) or later
- Accessibility permission - Grant in System Settings > Privacy & Security > Accessibility
- Terminal app.
Alacrittyis recommended. We also include Kitty, Terminal.app and WezTerm limited support.
- Launch ovim - it appears in your menu bar
- Grant Accessibility permission when prompted
- Access Settings from the menu bar icon
| In-Place Mode | Edit Popup |
|---|---|
| Press Caps Lock to toggle between Normal/Insert modes. Use Vim motions directly in any app. | Assign a shortcut to "Toggle Edit Popup" in Settings. Press it to open Neovim, edit, then :wq to paste back. |
Toggle between Normal and Insert modes with Caps Lock (configurable). In Normal mode, use Vim motions directly in any application.
Supported commands: hjkl, w/b/e, 0/$, gg/G, d/y/c + motions, dd/yy/cc, x, p/P, u/Ctrl+r, Visual mode, counts, and more. See docs/keybindings.md for the full list.
Display battery status, time, or selection info
Opens your actual Neovim installation in a terminal window. Your full config (~/.config/nvim) and all plugins are available.
How it works:
- Assign a shortcut to "Toggle Edit Popup" in Settings
- Select text in any application (optional - captures existing text)
- Press your shortcut to open Neovim in a popup terminal
- Edit with your full Neovim setup (plugins, keybindings, macros, etc.)
- Type
:wqto save and paste back, or close the window to cancel
Supported terminals: Alacritty, Kitty, WezTerm, iTerm2, Terminal.app
- Custom launch script - use your own editor. docs/launcher-script.md
- CLI - toggle modes via CLI. docs/cli.md
Check out full docs
Please check logs at /tmp/ovim-rust.log and submit an issue
MIT License - see LICENSE for details.


