Vim mode attempts to emulate the most useful features of Vim
as faithfully as possible, but is not a complete implementation.
It does however feature the following:
- All common motions and operators, including text objects
- Operator motion orthogonality
- Commands for write and quit (:w :wq :q :q!)
- Visual mode - characterwise, linewise, blockwise
- Full macro support (q @)
- Folding support (za zo zc zR zM)
- Incremental highlighted search (/ ? # * g# g*)
- Search/replace with confirm (:substitute :%s)
- Search history
- Jump lists (C-o C-i)
- Sort (:sort)
- Marks (` ')
- Cross-buffer yank/paste
The editor will recognize when the cursor is placed within a
table structure (identified by lines starting with the |
character), and provide formatting and navigation.
- Automatic table formatting: Pressing Tab not only
navigates through the table but also automatically formats it.
This includes adjusting cell padding to align text according
to the column specifications defined in the header row.
- Column alignment: The alignment for each column is
determined by the syntax used in the header separator row
(--- left, :---: center, ---: right).
- Dynamic column adjustment: If the cursor is at the
end of a row and Tab is pressed, a new column will be added.
When the cursor is on the header row, pressing Tab ensures the
header separator row exists and matches the column count of
the header, adjusting as necessary.
- Concealment support: When concealment is enabled,
the formatting logic takes this into account, calculating the
maximum length of each column without the concealed text,
ensuring a visually consistent table layout.
- Navigation: Move across table cells and rows with
the provided keybindings.