~ $ ideavim
Here's what landed in __VERSION__.
new plugin · text objects
The bundled textobj-user extension lets you declare custom text objects straight from
your ~/.ideavimrc — no plugin code required. Describe a pattern (or a head/tail delimiter
pair) and the keys that select it, and IdeaVim wires up the matching i/a objects
and motions for you.
Plug 'kana/vim-textobj-user' " a spec maps a name to a pattern and the keys that select it call textobj#user#plugin('datetime', { \ 'date': { \ 'pattern': '\<\d\d\d\d-\d\d-\d\d\>', \ 'select': ['ad', 'id'], \ }, \ }) " now 'dad' deletes a date like 2013-03-16, and 'cid' changes it
Objects support select-a/select-i, next/previous motions, a
charwise/linewise/blockwise region-type, and remappable
<Plug> mappings.
operators · motions
Slot v, V, or <C-V> between an operator and its motion to force the range's shape. v forces charwise and flips the motion's inclusive/exclusive nature, V forces linewise, and <C-V> forces blockwise.
dvw " charwise — includes the landing char dv$ " charwise — leaves the last char dVe " linewise — deletes the whole line d<C-V>j " blockwise — deletes a vertical block
insert mode · completion
Vim's <C-X> completion submode arrives in Insert mode. Start it with <C-X>, then complete whole lines from the current buffer or file paths from disk.
<C-X><C-L> " complete the current line from matching lines <C-X><C-F> " complete a file path from the file system
also worth a look
With incsearch on, press <C-G> to jump to the next match and
<C-T> to the previous one — without leaving the / or ?
prompt.
Set the IDEA_VIM_CUSTOM_VIMRC environment variable to load your
.ideavimrc from a custom path instead of the default locations.
polish & fixes
idearefactormode=keep, a rename (or similar action) no longer leaves you in Visual mode;
the mode you were in beforehand is restored.
% respects your range — running a command on a Visual
selection with a % appended (e.g. :'<,'>%d) no longer expands to the
whole file; the % is now ignored, matching Vim.