Vim Mode
For those used to coding in command line editors such as Vi and Vim, Nova’s Editor features a built-in Vim mode allowing you to use many of the key chords and commands you’re already accustomed to. You can toggle Vim mode from the Editor menu > Vim Mode, or from Settings > Editor > Vim > Enable Vim mode.

Enabling Vim mode changes the behavior of the cursor and key bindings in the Editor to emulate those of Vim.
Command Bar
When Vim mode is enabled, a Command Bar appears at the bottom of the Editor view to display available commands. This bar displays the current mode (such as Insert or Visual mode) as well as suggests available commands.

You can hide these command suggestions in Settings > Editor > Vim.
Supported Features
-
Normal Mode: Supports change, delete, yank, replace, swap case, uppercase, lowercase, shift left, and shift right operators.
-
Visual Mode: Includes character, line, and block modes.
-
Insert Mode
-
Motions
-
Modifiers: Supports inside and around for text objects.
-
Counts: Supported for operators, motions, and multiplying.
-
Absolute, Relative, and Hybrid Line Numbering
-
Registers: Includes named and numeric registers, including uppercase ‘append’ registers, and registers 0-9 (yank and delete stack). Optionally, you can set the macOS pasteboard (used by Cut/Copy/Paste operations) to act as the default/unnamed register.
Not Currently Supported
-
Command Mode: Implementing all the particular commands you may expect will take time, but we’d like to tackle this in the future.
-
Marks: We would like to support this in the future.
-
Read-only Registers: Most of these are not relevant to Nova.
-
Reformat and Filtering Operators: We would like to support these in the future. In particular, reformatting will require additional features in Nova itself.
-
.vimrc files: Nova currently does not parse settings in
.vimrc
. -
Custom Key Bindings
-
Window/Split Management
-
Vim Plugins: If there’s a popular plugin you’d like to see emulated in Nova, please let us know.
-
Probably Other Stuff: Vim is… a lot.
← Previous Language Servers |
Next → Printing |