kindaVim brings Vim moves to macOS Input Fields and UI Elements.

awesome stuff happening in there


The Site

kindavim.app for all the fancy stuff.

Why kindaVim

Vim moves anywhere? That's fucking cool. Also kV makes using the keyboard more consistent on the whole macOS, where sometimes CTRL-P/CTRL-N works to go up/down lists, and sometimes it doesn't. Very annoying.

License

Unlimited trial. The trial is: without a coffee a month kindaVim sleeps in the mornings. (It will scold you from the Menu Bar when you'll try to use it.) You're still able to use it fully-featured the afternoons. (Until 5am the next day. Those are long afternoons, yes.) So if you're like me and spend your mornings reading, swimming in the open sea or climbing rocks, then kV is basically free.

Current Vim Implementation

Motions

kV Accessibility Strategy: text manipulation; accurate.

kV detects automatically which Strategy to use, but sometimes you may wish to enforce the Keyboard Strategy even when the text is Accessible. You can do so by pressing fn while doing a move. This is useful when you're in a text input but want to scroll through the UI (scrollbars) rather than the text/caret, or to move from one input to another in some apps with custom UI.

See the current implementation.

kV Keyboard Strategy: keyboard remapping; less accurate.

See the current implementation.

Commands

See the current implementation.

Sync your Preferences

Currently the Preferences are a plist file located at ~/Library/Preferences/mo.com.sleeplessmind.kindaVim.plist. You can add it to your dotfiles, or use a tool like Mackup to keep the Preferences in sync between your computers. (Mackup explicitely supports kindaVim.)

Feedback

  • whether you need a missing move, want to report a bug or ask for a feature, just open an issue.

AccessibilityStrategyTestApp

Testing the Vim moves when using the macOS Accessibility requires building an external app. This app, as well as the tests of each move in the context of the Accessibility Strategy, are open source and available here: AccessibilityStrategyTestApp

Alternatives

Acknowledgments