Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> the wisdom that "Emacs is a good operating system, it just needs a decent text editor".

that's not wisdom; that's a sarcastic quip by the vim side of the emacs-vim/vim-emacs religious war.



It might be a joke, but it’s quite true. Vim is an excellent and efficient text editor, and Vim users consequently tend to see Emacs as a powerful but massively inefficient text editor. Which of course it is, but it’s also a massively efficient keyboard interface to an interactive text-based Lisp environment. If you’re just using Emacs to edit text, you’re missing out.


These days many users of vim tend to use many plugins making it in some ways a lot like emacs. Also emacs isn't particularly inefficient on modern machines other then problems with the ui and single threading which I believe vim shares.


I meant human efficiency, not the computer kind.


In what way is Emacs inefficient for humans?


My guess would be the Emacs pinky:

http://en.wikipedia.org/wiki/Emacs#Emacs_pinky

As a novice Vim user who has at times wanted to try out Emacs, this has always been an irritation. I think it's telling that one of the suggested work-arounds according that article is:

> Emacs' built-in "Viper-mode" that allows use of the vi key layout for basic text editing and the Emacs scheme for more advanced features.


Try this task for an example: underline an arbitrary line of text with '=' characters. In vim that's 11 keypresses across 3 operations, possibly less if there's a shortcut I haven't thought of. How many keypresses does emacs take out of the box?

Emacs, especially with paredit, is fairly well optimised for editing s-expressions and the like. Vim is very well optimised for line-based editing, but I don't get on with its buffer management at all.


    > underline an arbitrary line of text with '=' characters. In vim that's 11 keypresses across 3 operations
Sounds like a vimgolf challenge to me. Here's my entry:

YpVr=


I'm wondering now that the creativity to come up with those things might actually be beneficial to coding.


I'd agree with that, and also - an intense dislike of unnecessary repetition / work is definitely a good thing. I'm not sure using Vim causes that, but it definitely reinforces it.

For those that are interested, I would recommend "Practical Vim", and it includes many examples (including the above one) which really accelerate the learning process:

http://pragprog.com/book/dnvim/practical-vim

There are definitely cheaper alternatives (including free ones), but this book really laid the concepts out very clearly for me.


Well, that Vr= soundly beats my :s/./=/g.


The screeching brakes sound of context switches in Vim is not more "efficient" than just pressing a key combination to perform whichever transformation on text you wish to effect in Emacs.

I use Emacs to edit text, and I have limbs I'd rather lose than have to perform that task with Vim's airbag in my face.


> Vim is not more "efficient" than just pressing a key combination

Vim and Emacs both use key combinations... Vim's just require fewer fingers at once. You type Vim key combinations as you would type words in a language with a latin alphabet.


I think a lot of features -- especially if you want them accessible inside INSERT mode -- are accessible through CTRL+letter, no? At least omni-completion, the most useful one, used to be when I last tried it. (Has that changed? I'm not doing much editing in vim these days, so I may be wrong.)


Any command that I can think of can be mapped to work while in insertion mode.

The key however is understanding that if you are insertion mode, then key sequences start with the escape key, or, insertion commands are completed with the escape key. There is no "context switching". No more-so then having to press ctrl along with the rest of your key sequence in Emacs is "context switching".


Sorry, I meant to say "conventional wisdom".


eh ? like your parent comment pointed out - it's a quip by us vi users, not "wisdom" (conventional or otherwise) :-)


its arguable there are far less emacs commands to learn to get started coding compared to vims modes and key combinations.




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

Search: