src/main/resources/whatsnew-2.40.0.html
ideavim — whats-new — 80×24
~ $ ideavim
Welcome to a new way of hearing about IdeaVim.
Instead of digging through CHANGES.md, the highlights now come to you — right here in the IDE, every release. Here's what landed in __VERSION__.
new plugin · vim everywhere
Modal, keyboard-first navigation has always stopped at the edge of the editor. VimEverywhere takes it everywhere else — tool windows, trees, and clickable UI all bend to the keyboard, no mouse required. It's brand new and we'd love more people to kick the tyres.
set VimEverywhere" add this to ~/.ideavimrc and restart
Three things come bundled the moment it's on:
Press Ctrl+Shift+\ (Ctrl+Cmd+\ on macOS) and every clickable target gets a short A S D F label — type it to jump straight there. Buttons, tabs, tool-window controls, even inside dialogs like the IdeaVim settings.
The NERDTree keys you already know — o, t, s, i, gs, gi — now work in any tree, not just the Project tool window.
<C-W>h/j/k/l moves focus directionally across tool windows and the editor — fired from inside any tool window, just like window motions.
It's young and we want it in more hands. Turn it on, live in it for a day, and tell us what should come next — feedback shapes where it goes.
window management
Stop reaching for the mouse to balance your layout. A full set of Vim window-resize commands has landed, so your splits bend to your will.
\<C-W\>+\<C-W\>-" taller / shorter\<C-W\>\>\<C-W\>\<" wider / narrower\<C-W\>=" equalize every window:resize 20" or :resize +5 / -5:vertical resize 80" width, absolute or relative
Counts work too — 5<C-W>+ grows the window by five lines at once.
editing · live preview
The new 'inccommand' option previews replacements as you type the command — and quietly reverts everything if you bail out with Esc.
set inccommand=nosplit" preview inline, in the bufferset inccommand=split" inline preview + a window listing" every affected line
No more squinting at a regex and hoping for the best.
text objects
Welle's beloved targets.vim is now bundled. It supercharges text objects with seeking — operate on the next or last pair, quote, or argument without moving first.
Plug 'wellle/targets.vim'cin)" change inside the NEXT ( )da," delete an argument, comma and allci"" change inside the nearest quotes, even" if the cursor isn't on them yet
Pairs, quotes, separators, arguments and tags — with i/a/I/A modifiers and n/l next/last qualifiers.
search
After /, ?, n, N, * or #, IdeaVim now shows the match index and total — [2/4] — just like Vim. Tune the ceiling with 'maxsearchcount' (it shows [2/>3] when exceeded).
input · keyboard layouts
The new 'langmap' option lets you run Normal- and Visual-mode commands from a non-English keyboard — Greek, Dvorak, whatever you type on — by mapping the keys you press to the plain ASCII commands underneath. Text you type in Insert mode is left exactly as-is.
" map a Greek home row onto the ASCII commandsset langmap=ασδφγηξκλ;asdfghjklset langremap" also apply langmap to the result of a mapping
also worth a look
Enable set youcompleteme and cycle the popup with Tab / S-Tab — normal tabbing stays untouched when no popup is open.
C-Y accepts the selected completion item and C-E closes the popup — the Vim muscle memory you already have.
The new IdeaVim: Edit Control Characters action opens an editor for registers and macros containing control chars (^M, ^[).
'cmdheight' and 'messagesopt' arrived: multi-line messages get their own space, and single-line messages auto-hide after a timeout.
polish & fixes
sethandler <Tab> a:ide can hand it to the IDE.smartcase.:! are now refreshed on disk as soon as the command finishes.g< command, a scroll-back more-prompt pager, and a long list of smaller fixes.