back

by hexomancer·1y ago·view on hn ↗
Can you give example of vim features that you miss in the vscode plugin? Mainly because I likely don't know about them and I would like to add them to my toolkit (the surround thing is not a vim feature, it is a plugin, although the vscode plugin has that too)
4 comments
The "buffer" model. Half the speed of using vim in a project for me is the ability to manipulate the layout and having different "windows" on the same file. One of my most common workflow is to split the current window and navigate to a different part of the same file for reference purpose (can quickly switch to another file with fuzzy finding too).

And quick integration with external tooling. Creating an extension for vscode is cumbersome.

This works the same in vscode as it does in vim as far as I am aware. e.g. `:vs` to split the window and moving between windows uses the same shortcuts as it does in vim.
The fundamental difference is that in Vim, a tab/window contains splits, whereas in VSCode and every other editor AFAIK, a tab is a child of a split.

In Vim I can have test and implementation side-by-side in tab0, and then two splits of the one file in tab1, a header file, impl and test in tab2, etc.

With another editor, I have to switch tabs in split 1, then switch tabs in split 2, rearranging or adding more splits as needed when moving between different groups of files.

It's night and day. Vscode was never meant for the workflow, so even small things like moving to the sidebars and interacting with them using the keyboard is a pain in the ass.

Setting up custom hotkeys is an exercise in patience, and you are constantly fighting with native hotkeys that try to do the same thing.

I tried making vim mode work for years and I always go back to the original because it's where I'm at home

It’s been a long time since I used vscode (~5 years) so my experience may be out of date. But I recall the vim plugin missing the quickfix list and :cdo. Also there were quirks with y and p that didn’t happen when using vim (maybe extra whitespace getting inserted).
Region select. Custom keybindings. Macros.
All of those are available in the vscode plugin.
last time i used it, the keybindings were really buggy and I found myself falling back on my mouse much more often than I expected to.