Neru (練る — "to refine through practice") puts your cursor anywhere on the screen using only your keyboard. Click, scroll, drag, and select text — all without leaving the home row.
It is a free, blazing-fast, and open-source alternative to paid/subscription utilities like Homerow, Mouseless, and Wooshy. It is fully configurable, lightweight, and respects your privacy.
Tip
See how the author uses Neru day-to-day → HOW-I-USE-NERU.md and watch the recursive_grid demo:
demo.mp4
Neru offers four distinct modes tailored for every navigation requirement.
![]() Recursive Grid · recommended |
![]() Grid |
![]() Hints (Dual-Engine) AX-Tree & Vision OCR |
| Mode | Core Mechanism | Best For |
|---|---|---|
| Recursive Grid ⭐ | Divides screen into cells; narrow recursively using home-row keys (u/i/j/k). |
Everything — works flawlessly in any app, web browser, canvas, or game. |
| Hints (Dual-Engine) | Places labels on clickable elements using either OS Accessibility APIs or Native Vision OCR. | Standard macOS apps, Electron apps, and complex design tools (e.g. Figma). |
| Grid | Standard coordinate grid; jump directly by row + column label. | Rapid, coarse pointer adjustments across large monitors. |
| Scroll | Vim-style keyboard scrolling (j/k to scroll, u/d for half pages). |
Reading docs, articles, and code without lifting your hands. |
- Full Pointer Control — Bind left, right, middle clicks, double clicks, and drag & drop to home-row keys.
- Sticky Modifiers — Tap
ShiftorCmdonce to apply them to your next mouse click without holding. - Universal Application Support — Works in native AppKit/SwiftUI, Electron (VS Code, Slack, Obsidian), Web Browsers (Safari, Chrome, Firefox), Creative Suites (Figma), and system components (Dock, Menu Bar, Mission Control).
- CLI & Automation — Rich IPC-based command line interface for custom shell scripting, hammerspoon integration, and keyboard managers (e.g. Raycast, Alfred).
- TOML Configuration — Easily version-control your entire setup (keybindings, theme, overlays) in a single plain text file.
Note
The Homebrew tap is maintained at y3owk1n/homebrew-tap.
brew tap y3owk1n/tap
brew install --cask y3owk1n/tap/neru# Inputs: inputs.neru.url = "github:y3owk1n/neru";
# Modules: nix-darwin (macOS) · nixosModules (Linux) · home-manager (both)
# See docs/INSTALLATION.md for comprehensive setup.git clone https://github.com/y3owk1n/neru.git
cd neru && just release- macOS Accessibility: Grant access in System Settings → Privacy & Security → Accessibility → enable Neru.
- Daemon Management:
open -a Neru # Launch the app (one off launching)
neru services install # Auto-start on login (highly recommended) and restart on exitFor display-server requirements on Linux, see the Linux Setup Guide.
All hotkeys are remappable to suit your custom keyboard layouts (Colemak, Dvorak, etc.).
| Hotkey | Action |
|---|---|
Cmd+Shift+C |
Activate Recursive Grid ⭐ |
Cmd+Shift+Space |
Activate Hints |
Cmd+Shift+G |
Activate Grid |
Cmd+Shift+S |
Activate Scroll |
Shift+L (in mode) |
Execute Left Click |
Shift+R (in mode) |
Execute Right Click |
If you come from vimium or homerow or anything similar and expecting fill label with auto click (neru supports it, but need some configuration, see tips and tricks). Out of the box, you'll need to use keybinding for mouse action like Shift+L for left click. Why not auto clicking it? The rationale behind this decision is because of multiple modes that we supports plus supporting on different mouse actions other than only clicking.
Read the Configuration Reference to customize bindings.
Your configuration lives at ~/.config/neru/config.toml. It's human-readable, dotfile-friendly, and changes are applied instantly without restarting.
neru config init # Generate a fully-commented starter configuration
neru config validate # Validate your TOML file structure and types
neru config reload # Hot-reload configurations into the running daemonFor all settings, see the Configuration Guide and explore user showcases in Config Showcases.
Neru is unique in offering both coordinate-based grids and a dual-engine (AX + Vision OCR) hints mode in a single free, open-source tool.
| Tool | Engine Approach | Price | Open Source | Active / Maintained |
|---|---|---|---|---|
| Neru 練る | Grid + Recursive Grid + AX-Tree Hints + Vision OCR Hints | Free | ✅ | ✅ Active |
| Homerow | AX-Tree Hints (with fuzzy search) | Paid | ❌ | ✅ Active |
| Wooshy | AX-Tree Search-to-click | Paid | ❌ | ✅ Active |
| Mouseless | Grid pointer control | Paid | ❌ | ✅ Active |
| Scoot | AX Hints + Grid | Free | ✅ | 🔲 Low Activity |
| Vimac | AX Hints | Free | ✅ | ❌ Unmaintained |
| warpd | Grid + Hints + Normal Pointer | Free | ✅ | 🔲 Low Activity |
| Shortcat | Hints (fuzzy search) | Free | ❌ | ❌ discontinued |
| Glyphlow | Hints + vim text editing | Free | ✅ | ✅ Active |
If you use keyboard navigators on the web, Neru brings that exact comfort to your entire operating system:
- Vimium — Standard hints-based web navigation.
- Vimium C — Extended fast Vimium branch.
- Tridactyl — Complete Vim environment inside Firefox.
macOS is fully featured and stable. Support for Linux (X11 & Wayland) is actively developing.
| Capability | macOS | Linux | Windows |
|---|---|---|---|
| Recursive Grid | ✅ | ✅ | 🔲 |
| Grid | ✅ | ✅ | 🔲 |
| Vim-Style Scroll | ✅ | ✅ | 🔲 |
| Direct Mouse Injection | ✅ | ✅ | 🔲 |
| Global Hotkeys | ✅ | ✅ | 🔲 |
| Accessibility Hints (AX) | ✅ | 🔲 | 🔲 |
| Vision-Powered Hints (OCR) | ✅ | 🔲 | 🔲 |
| Native High-Perf Overlays | ✅ | ✅ | 🔲 |
Detailed backend documentation and roadmap plans live in docs/ROADMAP.md and docs/CROSS_PLATFORM.md.
A browser-based training game built by the community to help you build muscle memory with Neru's recursive grid and hints modes. Practice target acquisition, sharpen your reaction time, and refine your mouseless precision in a fun, low-stakes environment.
👉 Play Neru Dojo — no install needed, works in any browser.
Neru has a modular, clean hexagonal architecture (Ports & Adapters) written in Go and Objective-C, making it exceptionally easy to add features or platform adapters.
git checkout -b feature/amazing-feature
just test && just lint
# Open a pull request!Refer to Development Guide and Coding Standards for more details.
Neru is built and maintained entirely in spare time. If Neru has streamlined your day-to-day workflow, improved your ergonomics, or saved you money, please consider sponsoring:
We stand on the shoulders of giants. Our deepest gratitude goes to the creators of Homerow, Vimac, Vimium, Mouseless, and Shortcat.
Distributed under the MIT License. See LICENSE for more details.
Made with ❤️ by y3owk1n
⭐ Star this repository if Neru makes your workflow better!


