3 ms·
> Using Vim without knowing WAY more than this article is an anti-pattern. VIM is about composing small and straightforward operations, like in functional prog
by gwn7 8y ago
> Using Vim without knowing WAY more than this article is an anti-pattern.
VIM is about composing small and straightforward operations, like in functional programming. So with several primitives you get a lot of combinations. So the idea actually is the opposite: Learn just a few primitives and get your shit done using the combinations, which can be very flexible and powerful.
> you have to learn a lot more than these tricks and hacks to be proficient
The techniques highlighted in this article are not tricks nor hacks. It's actually more like VIM 101. Surely VIM has a lot of hacks but these definitely aren't among those. You don't sound very informed about VIM here.
> Obviously an IDE with intellisense and multiple cursors is more efficient than most of Vim's efficiency hacks.
Obvious to you, maybe. Funny you believe that something that has caused a shitload of controversy can actually be obvious. Please don't serve your personal opinion as being "obvious". To me, and I'd say to many others, it's not only not obvious, but "obviously" wrong.
Also VIM has multiple cursors for some time albeit as a plugin:
https://github.com/terryma/vim-multiple-cursors https://github.com/terryma/vim-multiple-cursors
> Vim is inefficient for editing
> Vim's efficiency gains more apply to editing text, not structured code.
First of all, structured code is text, so Vim's efficiency gains have to apply to it as well, there can't be any denying that. On top of plain text, VIM has other easily applicable features for structured code such as text objects, folding, highlighting, auto-completion and tag-browsing. These are not very hard to get right.
> If you aren't proficient in Vim's garbage VimL then keep learning
VimL really is garbage, I'll give you that. The trick is that you don't really need to learn it. I'm a ~10 years VIM user and still don't know anything about the VimL syntax (intentionally). The secret is that you can have a very effective VIM config around ~50 lines which itself mostly consists of settings, file type specific settings and aliases. But if you try to make VIM behave as something it wasn't meant to be, you'll be sorry.
I think that the confusion comes from the tendency of comparing VIM to IDEs, as well as trying to make VIM behave like IDEs. In my opinion, most people in the VIM community are "guilty" of this as well.
If you need an IDE, but you want VIM's mode and command composition driven approaches and keybindings as well; the wiser choice would probably be a modern IDE that supports a VIM mode.
For me, stuff like popping fancy file browsers or git wrappers from VIM is not what I'm looking for in the VIM experience.
But if what one wants is to get stuff done in the terminal; then one should learn a couple of UNIX tools instead of installing a gazillion of VIM plugins.
In short, if you need a modern IDE, use a freaking modern IDE. No need to make ignorant comments about our beloved VIM.
- stevebmark 8y agoLinking to that plugin means you haven't used it. Use an IDE that supports this well, not an incredibly buggy hack to get basic editing features.
- yakshaving_jgt 8y agoYou don't need a plugin to get multiple cursors in Vim. Go into visual block mode, press j a few times to select more lines, and hit I to go into insert mode. When you finish the insertion, you'll see the same insertion has been performed across all the selected lines. You are clearly trolling, and/or you have far less knowledge of vim than you think you have. You are only making yourself look bad here.
- deleted 8y ago[deleted]
- stevebmark 8y agoThat's much more limited than multiple cursors. Have you used that feature in other editors?
- yakshaving_jgt 8y agoIt is more limited, yes. It is only useful in rather trivial cases. For everything else, there’s macros. Macros are unarguably far more powerful and useful than multiple cursors. Visual block mode is constrained by absolute cursor position. Multiple cursors is constrained by relative cursor position. Macros have no constraints whatsoever, and can even be recursive.