top | item 17102771

(no title)

kenneth | 7 years ago

Use real vim, not emulators. Emulators all suck, and won't teach you the right habits.

Vim is also extremely powerful when customized to your needs. Build your own setup over time. Start with vanilla vim and add to it over time. If anything annoys you and requires too much manual repetition, it can probably be automated and streamlined.

Force yourself to use Vim for everything, and soon enough it'll be second nature.

Also — consider Neovim. It's real vim, but better.

discuss

order

extr|7 years ago

I actually disagree. I found what finally led to me using VIM was enabling VIM keybindings in RStudio. It's an emulated VIM setup, so not every command is supported, but it does have the advantage that at any point Insert mode works pretty much exactly like a non-vim setup. After a few months of this sort of semi-usage, I started to feel confident enough to use regular VIM, and started looking into more advanced command usage. The biggest thing was still, the ability to drop into Insert mode and have things like selection, copy/paste, backspace behavior, all work like they would in a normal text editor. If I got frustrated and needed to "just get something done", I didn't have to drop into notepad or whatever to do that. Rather than start off with no vimrc, I think its a lot more helpful to start with a vimrc that disables a bunch of functionality or makes it work "normally", which you can then re-enable as you see the need. For example, at first I shortcutted all registers to the system register.

supermdguy|7 years ago

What, specifically, is the problem with emulators that make them not teach the right habits? I get that emulators are likely more bloated and have less features than real vim/neovim. But, to me, that's not a dealbreaker, especially since it can be really convenient to use an emulator in an IDE.

notheguyouthink|7 years ago

As an aside, there are GUIs coming out for Neovim that give you features of IDEs with 100% real backing of Vim/Neovim. Ie, it's actually Neovim, but the GUI is just a frontend with IDE bells and whistles.

Most are pretty young I believe, so maybe not ready for you. I'm sure it's coming though :)

xur17|7 years ago

I would agree with this. Emulators typically are missing a few features, so moving from emulator -> vim should work okay. On the other hand, I've never had success going from vim -> emulator. It's always missing a few key features in my muscle memory that completely destroy my productivity.

maxk42|7 years ago

vim's feature-set is not just large -- it's vast. After 11+ years using it, I doubt I'm familiar with 1%.

There is no emulator that has that completeness. Most scarcely implement the beginner commands.

neurotrace|7 years ago

Nah. Vim bindings in VS Code are the sweet spot for me. Some of the Vim emulation isn't perfect but having something like 99% of Vim is plenty plus I get my preferred layout, debugging tools, etc.

moistoreos|7 years ago

I use Vim bindings for VS Code with the Angular work I'm doing at my job. I can vouch that they're the best emulated bindings outside of any JetBrains app that I've touched.

nobleach|7 years ago

Atom's vim-mode-plus is superb! I've actually started to like it more than "real vim". Atom itself is a work-in-progress, but I'm extremely happy with its vim emulation. The only thing missing is a macro system.