Neru (η·΄γ β "to refine through practice") puts your cursor anywhere on screen using only your keyboard. Click, scroll, drag β all without leaving the home row.
It's a free, open-source alternative to Homerow, Mouseless, and Wooshy. No paywalls, no subscriptions, fully configurable.
See how the author uses Neru day-to-day β HOW-I-USE-NERU.md and a quick demo with
recursive_gridwith my own config:
demo.mp4
![]() Recursive Grid Β· recommended |
![]() Grid |
![]() Hints |
| Mode | How it works | Best for |
|---|---|---|
| Recursive Grid β | Divide screen into cells, narrow recursively with u/i/j/k |
Everything β works in any app, any window |
| Grid | Coordinate grid, jump by row + column label | Quick, coarse navigation |
| Hints | Labels appear on every clickable UI element | Standard macOS apps with accessibility support |
| Scroll | Vim-style j/k, gg/G, d/u |
Scrolling without lifting your hands |
Recursive Grid is the recommended daily driver. It's precise, predictable, and requires no per-app setup β it just works everywhere.
- All mouse actions β left, right, and middle click; drag & drop; all key-bound
- Sticky modifiers β tap
ShiftorCmdonce to apply to your next click, no holding - Per-app exclusions β opt specific apps out by bundle ID
- CLI & scripting β full IPC-based CLI for shell scripts and hotkey managers
- TOML config β every keybinding, color, and behavior in one file you can version-control
Works in native macOS apps, Electron apps (VS Code, Slack, Obsidian), all major browsers, creative tools (Figma, Illustrator), and system UI (Dock, Menubar, Mission Control). Grid and Recursive Grid need no accessibility support β they work universally.
Note
The homebrew tap is maintained in another repo: y3owk1n/homebrew-tap If there's a problem with the tap, please open an issue in that repo or even better, a PR.
# Homebrew (recommended β gets you auto-updates)
brew tap y3owk1n/tap
brew install --cask y3owk1n/tap/neru# Nix Flake
# inputs.neru.url = "github:y3owk1n/neru";
# See docs/INSTALLATION.md for nix-darwin / home-manager setup
# Build from source
git clone https://github.com/y3owk1n/neru.git
cd neru && just releaseThen grant accessibility access: System Settings β Privacy & Security β Accessibility β enable Neru.
open -a Neru # launch
neru services install # auto-start on loginFull walkthrough: Installation Guide β
| Hotkey | Action |
|---|---|
Cmd+Shift+C |
Recursive Grid β |
Cmd+Shift+G |
Grid |
Cmd+Shift+Space |
Hints |
Cmd+Shift+S |
Scroll |
Shift+L |
Left click |
Shift+R |
Right click |
All hotkeys are remappable. See Configuration Reference β
Note: Adding any custom hotkey replaces all defaults. Re-declare every hotkey you want to keep.
Everything lives in ~/.config/neru/config.toml β one file, plain text, dotfile-friendly.
neru config init # generate a commented starter config
neru config validate # check for errors
neru config reload # hot-reload into a running daemonVersion-control it, share it, script against it. No settings GUI, no hidden state.
Full reference: Configuration Docs β Β· Community configs: Config Showcases β
| Tool | Approach | Price | Open Source |
|---|---|---|---|
| Neru | Hints + Grid + Recursive Grid + Scroll | Free | β |
| Homerow | Hints (fuzzy search + labels) | Paid | β |
| Wooshy | Hints (search-to-click) | Paid | β |
| Mouseless | Grid-based pointer control | Paid | β |
| Scoot | Hints + Grid + Freestyle | Free | β |
| Vimac | Hints + Grid | Free | β
|
| warpd | Hints + Grid + Normal | Free | β
|
| Shortcat | Hints (fuzzy search) | Free | β discontinued |
| Tool | Approach |
|---|---|
| Vimium | Hints-based link navigation |
| Vimium C | Extended Vimium |
| Tridactyl | Full Vim emulation in Firefox |
macOS is fully supported. Linux and Windows currently expose the shared architecture,
ports, and stubs, but still need native implementations for core functionality.
neru doctor now reports these runtime capability gaps explicitly.
Shared code should prefer platform roles over macOS-specific assumptions:
- Use
Primaryin new cross-platform hotkeys when you mean "Cmd on macOS, Ctrl elsewhere". - Treat Linux as a backend family, not one target: X11 and Wayland may need separate adapters behind the same port.
- Keep backend selection in platform/infra code so contributors can extend Linux without editing shared mode logic.
- Treat CGO as backend-dependent, not automatically OS-dependent: macOS needs it today, Linux may or may not depending on backend, and Windows should prefer pure-Go Win32 bindings where practical.
| Platform | Status |
|---|---|
| macOS | β Stable, all features |
| Linux | π² Foundations only |
| Windows | π² Foundations only |
Interested in porting? Check cross-platform issues or join the Linux discussion.
Contributor quick start for platform work:
just build
just test-foundation
just build-linux # or: just build-windowsFull compatibility matrix & roadmap
| Capability | macOS | Linux | Windows |
|---|---|---|---|
| Recursive Grid | β | π² | π² |
| Grid | β | π² | π² |
| Hints | β | π² | π² |
| Vim-Style Scrolling | β | π² | π² |
| Direct Mouse Actions | β | π² | π² |
| Global Hotkeys | β | π² | π² |
| Accessibility Integration | β | π² | π² |
| Native Overlays | β | π² | π² |
Roadmap
- Phase 1 β macOS β
- Stable core architecture
- High-performance native bridge
- Full feature set
- Phase 2 β Linux
- AT-SPI accessibility integration
- X11/Wayland event capture
- Native overlays
- Phase 3 β Windows
- UI Automation (UIA) integration
- Windows Hooks for event capture
- Win32/WinUI overlays
| Guide | Contents |
|---|---|
| Installation | Homebrew, Nix, source builds |
| Configuration | Every TOML option |
| CLI | IPC commands and scripting |
| Troubleshooting | Common issues, app-specific fixes |
| Development | Architecture and build instructions |
| Architecture | Porting guide and system design |
| Cross-Platform Guide | Contributor guide for Linux/Windows/platform work |
| Roadmap | Current priorities and milestones |
The project is small and the codebase is approachable. PRs welcome.
git checkout -b feature/your-idea
just test && just lint
# open a PRKeep PRs focused on a single change. See Coding Standards and Development Guide.
Neru is free and built entirely in my spare time. If it's replaced a paid tool in your workflow, consider sponsoring β it helps justify the hours.
Built on the shoulders of Homerow, Vimac, Vimium, Mouseless, and Shortcat.
MIT β see LICENSE.
Made with β€οΈ by y3owk1n
β Star this repo if Neru makes your workflow better


