The problem with every fake vim plugin is that the underlying editor does not implement tabs the way vim does.
Combine that with the fact that all the UI elements are not vim-ified. In vim, since everything is a pane and a buffer, you just think "I want to select the panel to the left". Regardless of if it's a plugin view or a file or whatever.
In vim emulator's, that's never the case. It's really not the same, but better than nothing. The vscode plugin and the IntelliJ one are both pretty good compared to previous ones that I tried. But the IDEs are just incompatible with the vim ideology, in my opinion.
As someone who always wanted to try Vim out, I thought the Vim keybindings plug-in was a total game changer. I only use it for moving around in and manipulating the text - because that’s all it can do - and it’s awesome. Genuine life change.
Just a little counterpoint basically - I don’t think you need Vim’s entire editor model to get a lot of value out of it!
I'm sure it is! But I got used to everything following vim logic, so when I use an IDE that doesn't, I miss it/get annoyed.
My comment wasn't meant to dissuade anyone from trying the vim plugins. I was just trying to explain why someone would consider the vim emulation plugins not as good as the real thing.
I also seem to run into performance problems using IDEs (even on recent, high end hardware) while vim remains fast.
If nothing else, the performance characteristics of vim are predictable (to me, after all these years) and there are various ways to work around any problems that occur (disabling plug-ins, etc).
I'm not sure that's the problem. I think it's more likely one of several, but I'm not sure tabs are all that useful a feature in vim — vim is all about buffers.
Not once in the past eight years have I had to use tabs for something. The buffer list, yes. The argument list, yes. Tabs, no.
This guy here [0] articulates my thoughts about tabs perfectly.
If all you care about is buffers, what do you miss about them in vscode or IntelliJ? Their idea of buffers is the same as vim, as far as I can tell.
Or is the problem that the IDE functionality is not implemented as buffers? So you can't use your normal keys in non-text places? That was what I was referring in the second part of the comment.
If that guy articulates your thoughts perfectly, then I think neither he nor you know how to use the argument list (or, buffers for that matter) in vim.
The workflow he is describing works with :bufdo, :argdo, :bn, :n, etc.
He is also not describing what is special about tabs. Tabs in vim are groups of windows.
I’m not sure if you were asking me, but no, buffers are not the reason why I exclusively use vim.
> If that guy articulates your thoughts perfectly, then I think neither he nor you know how to use the argument list (or, buffers for that matter) in vim.
> The workflow he is describing works with :bufdo, :argdo, :bn, :n, etc.
It's different because you are losing context. It's not about finding the right buffer, I understand buffers, I have no problem switching between them and finding them. It's about organizing windows in a way that makes sense and then quickly switching between them.
> He is also not describing what is special about tabs. Tabs in vim are groups of windows.
Exactly! And no other editor implements it that way. It's about context switching quickly. I setup my tabs per context and then I can quickly switch back and forth between them, and have all my windows like I left them.
No other editor does it like that (maybe emacs?), because it does not have the concept of vim tabs. Other editors use "tab" to mean "vim window". I'm constantly wasting time recreating window layouts in other editors depending on what I'm working on.
> I’m not sure if you were asking me, but no, buffers are not the reason why I exclusively use vim.
I'm asking what is missing from the IntelliJ vim plugin when it comes to buffers. The concept of buffers is not unique, most modern IDEs implement them the same way. It's why I'm surprised that you mention that buffers are the killer feature of vim, since I don't see anything unique about them compared to other editors.
> It's why I'm surprised that you mention that buffers are the killer feature of vim, since I don't see anything unique about them compared to other editors.
I'm sorry, I think we have our wires crossed :)
I didn't say that buffers are the killer feature of vim — quite the opposite.
I was replying to the opening sentence of your comment, in which you said:
> The problem with every fake vim plugin is that the underlying editor does not implement tabs the way vim does.
My argument is that problems with vim-like plugins in IDEs like VSC run deeper than just the one you pointed out, especially given — in my opinion — neither tabs nor buffers nor windows are the killer feature of vim. But I can see how my comment can be misinterpreted given I said "vim is all about buffers", which in hindsight I think I worded poorly.
Combine that with the fact that all the UI elements are not vim-ified. In vim, since everything is a pane and a buffer, you just think "I want to select the panel to the left". Regardless of if it's a plugin view or a file or whatever.
In vim emulator's, that's never the case. It's really not the same, but better than nothing. The vscode plugin and the IntelliJ one are both pretty good compared to previous ones that I tried. But the IDEs are just incompatible with the vim ideology, in my opinion.