Hacker News new | past | comments | ask | show | jobs | submit login

The level of comfort using vim for a proficient user is very very high, so much so that it becomes difficult to switch out to other editors. I'm quite sure that textmate, sublime and emacs are perfectly good editors, but there's no way I could ever switch full time.

If you're a touch-typist and you become proficient in vim, the friction between thinking about an edit and it materializing on the screen in front of you is reduced. I think 'whoops, need a comma there', my hands move around a little without thinking and the edits done. Contrast this with move hand to mouse, click where you want to edit, hit backspace, type in new character.

IME this is not necessarily faster, just a lot more comfortable once you get used to it.

A lot of comments will say 'you can have vi-mode in <other editor>' but I've yet to see an implementation that covers the entirety of normal mode _and_ supports custom remaps, and even then the mappings would need an interface to its plugins before it approaches a vim-like environment.




Why would I constrast it with reaching for a mouse? I've never in my life thought whoops, need a comma there, and reach for the mouse; other editors can be used through the keyboard, this isn't unique to Vim.


Because vim has a lot of commands which are to do with navigation, with standard editing controls you would either press the left arrow a bunch of times while watching the prompt and stop when it's in the correct place. Then you would enter the comma and repeat the process going right.

(I know you can use home/end or ctrl to jump over words, however often these aren't always applicable and often still need visual feedback)

In vim it's significantly easier to jump to the desired point on the line with fewer key strokes and no need for a visual feedback loop.

In short; it's not the fact you can use the keyboard to navigate, rather it's the fact that you can navigate efficiently with the keyboard without having to think about the position of the cursor.


> I know you can use home/end or ctrl to jump over words, however often these aren't always applicable and often still need visual feedback

Which makes vim faster, but doesn't mean one needs to reach for a mouse; secondly, what touch typist isn't already watching what he's typing? Requiring visual feedback is hardly slow.

> In vim it's significantly easier to jump to the desired point on the line with fewer key strokes and no need for a visual feedback loop.

I'm aware of that, but that's not the argument you made. You said you didn't have to reach for the mouse, well, neither do any of the other editors.

> In short; it's not the fact you can use the keyboard to navigate, rather it's the fact that you can navigate efficiently with the keyboard without having to think about the position of the cursor.

While true, you overestimate how much other editors make you think about the cursor as well. Our muscle memory works just as well as yours and though vim gives you more options to exploit it, it's not as if other editors don't offer anything other than visual and a mouse.


> Which makes vim faster, but doesn't mean one needs to reach for a mouse; secondly, what touch typist isn't already watching what he's typing? Requiring visual feedback is hardly slow.

Yes it is. You can go seven or eight keystrokes in vim recording a macro without any feedback whatsoever, and still end up with a wickedly powerful edit.

> I'm aware of that, but that's not the argument you made. You said you didn't have to reach for the mouse, well, neither do any of the other editors.

No I didn't. I simply said contrast that to moving your mouse. You could also contrast it to ctrl+right arrowing to the word on the line but in vim thats just `5w` (where five is the number of words along the line) in normal mode. It still requires less cognitive and physical effort. You could also contrast it to the built-in readline ctrl+ shortcuts and it would still be less keystrokes.

> While true, you overestimate how much other editors make you think about the cursor as well.

No I really don't. I wasn't magically born with vim superpowers. Like everyone else I started with a regular text editor and worked my way to vim proficiency. I became proficient with eclipse, crimson editor and quite a few others before deciding that vim was what I wanted to invest in long term.

> Our muscle memory works just as well as yours and though vim gives you more options to exploit it, it's not as if other editors don't offer anything other than visual and a mouse.

Very well, good luck to you with your other editors. I seriously think you should use whatever you feel most comfortable with.


Vim isn't only about movement, it gives you some very efficient ways to actually manipulate text.

Take this example line of code:

   #define test "Some magical string."
Say the cursor was at the beginning of the line and you wanted to completely change the contents of the string. In a regular editor, you might <ctrl><Right Arrow> a few times and <Del> a bunch to remove everything in the string before you start typing the new one. In vim, you would simply:

   f"ci"
And you'd be ready to start typing the new string. Or if you wanted to capitalize 'test':

   WgUe
It's difficult to understand the power of modal editing until you experience it


lol no


The laziness level that can be achieved with vim's modal editing still surpasses that of most editors. When you're used to vim and you have to use something else, you even become disappointed when you have to reach for the arrow keys. hjkl is far too convenient. Heck, I hardly use backspace anymore even.


Certainly, but then you're spoiled by vim and everything else sucks, or you're trying to find vim-bindings for it. I'd much rather be accustomed to standard bindings that work in most programs and move between them without all the frustration of overly opinionated programs that think their bindings are the best.


Or you can can just appreciate that you get to use one of the best input models only while you're coding, and settle for regular inputs the rest of the time. It's not like you'll forget how to use the arrow keys after learning Vim.

I don't know if I'd call Vim overly-opinionated. It's a legitimately incredible way to work with text.


OK, I'm the grandparent post and I'll say it. You can have a vi-mode in Emacs and it is called evil-mode.

Vim plugins obviously don't work, but there is a world of Emacs libraries and you can now extend your editor in lisp.

There are still some inconstancies that bother me (e.g. special buffers that don't respect vim shortcuts), but overall I'm happy.


I would describe myself as a pretty proficient and comfortable user of Vim and I have switched to Other Editors for short and long periods of time. Really, switching text editors is like switching languages: Every time you learn a new language, you also learn a new way to think and express yourself.

Vim is absolutely awesome, however it is but one way of editing text. Other methods have their own merits and incorporating their styles in your workflow will make you more proficient in the long run even if you eventually come back to Vim.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: