- Big updates to keybindings ! ( #513 , #654 , #557 , #585 , #655 )
- Revert ( #649 )
- Improve cursor position behaviour ( #649 )
- Fix infinity file opened loop on recent neovim versions ( #632 )
- Fix init error with no workspace folders open ( #526 )
- Update README.md ( #527 )
- Fix cursor with tab indentation ( #516 , #515 )
- Handle correctly WSL path with spaces ( #509 )
- Fix mutli-column character handling ( #503 )
- Improvements to cursor logic ( #501 )
- Cancel current mode when switching editor ( #156 )
- Fix cursor logic ( #467 , #488 )
- Trigger matching word highlight after movement ( #159 )
- VIM highlight adjustments ( #482 )
- Improve cursor reveailing logic ( #479 )
- Hook g0 / g$ ( #455 )
- Fix undo regression introduced in
0.0.70
- Fix
Unable to determine neovim windows id
error spam ( #418 )
- Use vscode jumplist actions instead of neovim
- Fix uppercase marks ( #228 )
- Various cursor & buffer management fixes ( #404 , #392 , #386 )
- Implement manageEditorHeight and manageEditorWidth ( #444 )
- Fix
<C-a>
in insert mode ( #283 ) - Set vim cwd as vscode workspace ( #429 )
- Fix shell-agnostic WSL integration ( #147 )
- Map :x to Wq ( #396 )
- Various docs contributions
- Improve build ( #378 )
- Allow to put text decorations (usually EasyMotion ones) at top setting (
vscode-neovim.textDecorationsAtTop
) ( #358 ), contributed by @jhgarner - Fix incorrect
<C-w><C-w>/<C-w>w
mappings ( #359 ), contributed by @tschaei - Replace/modernize neovim vscode command line interop mappings by
<Cmd>call
( #362 ), contributed by @theol0403 - Fix incorrect
<C-w>gf
mapping ( #365 ), contributed by @Yuuki77 - Fix applying vim HL (such as
MatchParen
) at end of a line ( #371 ) - Fix incorrect cursor position when selecting next/prev search result ( #366 )
- Fix/improve behavior of auto-accepting vim return prompt
Press enter to continue
. In some cases it was excess ( #372 ) - Bundle extension by webpack ( #377 )
- Fix jumplist ( #350 )
- Add
K
andgO
mappings (mapped toshowHover
andgoToSymbol
) ( #108 ) (@Shatur95) - Fix images/icon (@Shatur95)
Started from this version neovim 0.5
nightly version is required
Many things have been refactored/changed internally in this release. So if you see any regression - please fill an issue
- Turn on VIM smartindenting/autoindenting and remove custom vscode bindings to
o
/O
(so it uses VIM ones) - New buffer,window and cursor management. This makes the extension finally work with git diff view, peek views, search editor views and even in output channels! ( #53 , #187 , #220 , #223, #226)
- Implement multi-line messages pager. Things like
:registers
,:changes
,:jumps
,:messages
are working correctly now ( #202 , #78 , #296 ) - Fix tab indent problems and sync vscode tab settings with neovim ( #275 , #239 , #264 , #167 , #100 , #152 , #289 )
- Fix few macro recording problems ( #207 )
- Fix ghost keys after exiting insert mode ( #324 ). For
jj
/jk
users there are still few problems ( #330 ) but they will be sorted in next releases - Fix few command line problems ( #155 , #288 )
- Fix some buffer desync issues ( #312 )
- Fix
<C-w>v/<C-w>s
split shortcuts ( #331 ) - Fix brackets for substitute command ( #300 )
- Add logger and log-related configuration to options
- Change some default code-actions mappings ( #339 )
- Add extension icon. Many thanks to https://github.com/ngscheurich
- Implement dot repeat (
.
) command ( #209 , #173 ). Also fixes<count>
insert comamnds, like #255 , #249 - Removed file name from statusbar ( #291 , #230 ), thanks @Shatur95
- Fix visual selection conversion ( #233 ), thanks @Shatur95
- Fix wrong string comparsions ( #308 ), thanks @Shatur95
- Make espace keys work only when editor has focus ( #290 ) , thanks @David-Else
- Added some file name completion in commandline ( #192 ), thanks @ppwwyyxx
- Fix missing
<C-w>c
mapping ( #180 ), thanks @trkoch - Add operating system dependent path settings ( #137 ), thanks @3nuc
- bind gh to mousehover ( #107 ), thanks @kwonoj
- Fix cursor & extension hang for some cases ( #153 )
- Use command line completion only for command line originated via
:
command ( #146 )
- Fix incorrect cursor for multibyte single column width characters ( #142 )
- Fix vim-easymotion decorators drifting when text has multi-byte characters ( #144 )
- Disabled vim modeline processing
- Force vim folds to be always opened to prevent problems
- Fix vim-easymotion decorators drifting to the end of line ( #60 )
- Fix incorrect cursor positions after commands/mappings such as
>gv
( #141 ) - Fix double command prompt ( #120 )
- Fix the problem when cursor/extension stucks for second+ editor columns ( #126 )
- Update
neovim-client
to latest version. This should eliminate delay between operations and generally improve the performance. Kudos to @kwonoj for impressive work here - Fix cursor movement for 2-byte chars ( #127 )
- Fix VIM filetype detection ( #115 ). This means
FileType
autocmd should work correctly now. Also fixesvim-matchup
plugin. This may introduce some side effects from previously disabled filetype plugins - just fill an issue if something doesn't work - Fix broken cursor position in insert mode for special keys (such as
del
/backspace
/etc) if you had recorded a macro in insert mode previously
- Hotfix broken
VSCodeCallRange
(commenting/formatting didn't work because of this)
- Visual modes DON'T produce vscode selections right now. These were implemented through various workarounds, gave really small value and were constant origin of headache. Also this fixes few issues related to visual modes ( #105, #118 ). To round the corners, invoking vscode's command palette (by using default vscode hotkeys) from visual mode will convert neovim visual selection to vscode visual selection, this should cover most use cases. Also, there are
VScodeNotifyRange
/VSCodeCallRange
/VSCodeNotifyRangePos
/VSCodeCallRangePos
vim functions if you need to call vscode command with selection. See this for example and mapping if you're doing custom mappings and assuming there is some vscode selection exist. UseVSCodeNotifyRange
when you don't need a column pos (e.g. for visual line mode) andVSCodeNotifyRangePos
when you need them (e.g for visual mode). - Refactored vscode<->neovim cursor syncrhonization
- Fix
ma
/mi
not working when selecting lines upward ( #117 ) - Changed
ma
/mi
to skip empty lines. AddedmA
/mI
for the previous behavior - Macro recording fixes
- Refactored & optimized HL provider (highlight should be faster now)
- Override default keybindings only when neovim was initialized succesfully ( #112 )
- Don't preselect
'<,'>
marks when invoking cmdline from visual line ( #111 ) - Implemented commandline history ( #88 )
- Add the option to start the visual mode with mouse selection ( #94 )
- Disabled jj/jk escape keys by default
- Fix cursor/highlight not working with multi-byte width characters (Russian, Chinese, Japanese, etc...), i.e the extension should work normally with them (#68, #91)
- Fix incorrect vim highlight when using tab indentation (#81)
- Removed multiple cursors by default from visual line/block modes (visual block mode still spawns cursors but they are pruly visual) (#59, #61). Previous behavior is still accessible by
mi
orma
keybindings while in visual line/block modes - Allow to override keys/mappings set by extension (previously they have been set after user config loaded)
- Allow to identify if neovim is running through vscode extension by checking
if exists('g:vscode')
(#83) - Added
<C-[>
andEscape
as escape keys (#74) - Added
<C-n>
and<C-p>
to select next autocomplete suggestion/show next/prev parameter hint - Added
jj
andjk
as escape keys from the insert mode (#75) - Pass
<C-/>
to neovim and call VSCodeCommentary (still recommended to bind it to own keys) (#89) - Pass
<S-Tab>
to neovim - Allow to pass additional ctrl keys to neovim (see Readme)
- Added workaround for
gk
/gj
motions - Corrected
gf
/gF
keybindings. Add<C-]>
as go-to-def (works in help too) (#77). Addgd
/gD
as secondary mappings to go-to-def/peek-def. Add<C-w>gd
to reveal definition aside
- Fix bug with incorrect buffer edits
- Fix cursor jumping after pressing something like
cw
and fast typing text in large file
- Fix cursor position after deleting a line and possibly other operations
- Fix performance of o/O. If you're using custom bindings for them, you might need to rebind them to call new action. See vscode-insert.vim
- Fix macros with insert mode
- Big performance improvements, fix undo & macros performance
- Allow to use neovim installed in WSL. Tick useWSL conf checkbox and specify linux path to neovim
- Use VIM jumplist for
<C-o>
/<C-i>
/<Tab>
- Fix extension for linux/macos users
- Fix buffer-vscode desynchornization after redo
- Cmdline fixes/improvements (#50, #51)
- Fix crazy cursor jumping when having opened multiple editors panes
- Implemented nvim's ext_multigrid support. This solves almost all problems with vim highlighting and potentially enables easymotion's overwin motions (they still don't work however). Window management still should be performed by vscode
- Removed vim-style cursor following on editor scrolling. This totally screwed vscode jumplist, so better to have working jumplist than such minor feature.
- Cursor position fixes
:e [filepath]
works again
- Fix selection is being reset in visual mode after typing
vk$
(#48) - Fix not cleaning incsearch highlight after canceling the incsearch (#46)
- Fix incorrect cursor after switching the editor to the same document but in different editor column (#49)
- Use non-blocking rpc requests when communicatings with vscode for file management operations (closing, opening, etc...). Should eliminate the issue when vim is 'stuck' and doesn't respond anymore
- Fix incorrect cursor positions after opening
:help something
(#44) - Fix visual block selection for single column in multiple rows (#42)
- Enable VIM syntax highlighting for help files and external buffers like
:PlugStatus
. It's slow and sometimes buggy but better than nothing in meantime
- Fix incsearch and allow to use
<C-t>
/<C-g>
with it - Reworked/Refactored command line. Now with wildmenu completion support. Also keys like
<C-w>
or<C-u>
are working fine now in cmdline now
- Partially revert #41
- Tab management commands & keys, like
gt
ortabo[nly]
- Window management commands & keys like
sp[lit]
/vs[plit]
and<C-w> j/k/l/h
keys - Bind scroll commands in neovim instead of vscode extension (#41)
- File management commands, like
:w
or:q
(bound to vscode actions) - Fix #40
- A bunch of development versions. 0.0.23 has the following features
- Correct editing and the cursor management
- Control keys in the insert & normal/visual modes
- Visual mode produces vscode selections
- Working VIM highlighting (most of a default VIM HL groups are ignored since they don't make sense in VSCode, but non standard groups are processed, so things like vim-easymotion or vim-highlight are working fine)
- Scrolling commands (scrolling is done by vscode so things are slighly different here)
- Special vim-easymotion fork to use vscode text decorators instead of replacing text (as original vim-easymotion does)
- Analogue of vim-commentary (original vim-commentary works fine too)
- Working external vim buffers, like
:help
or:PlugStatus
- Multiple cursors for visual line/visual block modes
- Initial release