nchudleigh/vimac
{ "createdAt": "2019-09-05T14:27:51Z", "defaultBranch": "master", "description": "Productive macOS keyboard-driven navigation", "fullName": "nchudleigh/vimac", "homepage": "https://vimacapp.com", "language": "Swift", "name": "vimac", "pushedAt": "2022-12-31T04:08:41Z", "stargazersCount": 3628, "topics": [], "updatedAt": "2025-11-24T03:26:09Z", "url": "https://github.com/nchudleigh/vimac"}Announcement
Section titled “Announcement”Vimac is now Homerow. Homerow is a refined, sleeker, more performant successor of Vimac, incorporating lessons learned from it’s predecessor.
Vimac - Productive macOS keyboard-driven navigation
Section titled “Vimac - Productive macOS keyboard-driven navigation”Vimac is a macOS productivity application that provides keyboard-driven navigation and control of the macOS Graphical User Interface (GUI).
Vimac is heavily inspired by Vimium.
Getting Started
Section titled “Getting Started”You can download Vimac here. Unzip the file and move Vimac.app to Applications/.
You can refer to the manual here.
How does Vimac work?
Section titled “How does Vimac work?”The current Vimac workflow works like this:
- Activate a mode (
Hold Space to activate Hint-modeis the default) - Perform actions within the activated mode
- Exit the mode, either manually or automatically when the mode’s task is complete
Hint-mode
Section titled “Hint-mode”Activating Hint-mode allows one to perform a click, double-click, or right-click on an actionable UI element
Upon activation, “hints” will be generated for each actionable element on the frontmost window:
Simply type the assigned “hint-text” (eg. “ka”) to perform a click at the location!
Scroll-mode
Section titled “Scroll-mode”Activating Scroll-mode allows one to scroll through the scrollable areas of the frontmost window.
Upon activation, a red border surrounds the active scroll area:
HJKL keys can be used to scroll within the scroll area.
Building
Section titled “Building”pod installcarthage buildopen Vimac.xcworkspaceModify the Signing and Capabilities to the following (note the Disable Library Validation option):
![]!(docs/remove_signing.png)
Add Vimac and Xcode (for running AppleScript) to the list of Accessibility apps under System Preferences > Security & Privacy > Accessibility:
![]!(docs/vimac_xcode_accessibility.png)
Keep System Preferences open under this section during development with the settings unlocked. This is because the grant-accessibility-permission-dev.scpt AppleScript is scheduled to run after each build to re-grant Accessibility permissions.
The AppleScript simply checks and unchecks Vimac to re-grant permissions which are lost after a cleanbuild.
Build Vimac now! You may have to build it several times as the AppleScript may not run well the first time.
At this point running git status would bring up:
modified: ViMac-Swift/ViMac_Swift.entitlementsmodified: Vimac.xcodeproj/project.pbxprojmodified: grant-accessibility-permission-dev.scptAvoid committing them.
Contributing
Section titled “Contributing”Feel free to contribute to Vimac. Make sure to open an issue / ask to work on something first!