4 ms·
Your understanding is very much flawed. (FYI, Emacs has been my primary editor for 5 years and Vim has been my over-ssh editor for 6) Your guitar analogy is mo
by Ixiaus 15y ago
Your understanding is very much flawed. (FYI, Emacs has been my primary editor for 5 years and Vim has been my over-ssh editor for 6)
Your guitar analogy is more applicable not between Emacs and Vim but between something like pico/nano and vim/emacs. It's hard to find a good analogy between Emacs and Vim because they are both awesome editors for many different reasons.
Emacs (due to its LISP origins) is highly configurable, probably the most configurable piece of software you will ever use that has a large mindshare and presence in the community. Vim is configurable, but Vim's intention from the beginning was to be an efficient editor over SSH; it just so happens people are now using it as their primary editor of choice on their desktops.
With Vim you can't just start editing text right away (like Emacs, Word, TextEdit &c...) you have to switch from the Console Mode into Editing Mode (by pressing "i" on most installs). Then if you want to delete a few words you have to switch back to the Console Mode (by pressing "esc" usually) position your cursor, and enter "wq" until the words you wanted deleted are deleted. This has the benefit of separating commands from text editing so there are no "control" keys as you will see with Emacs.
With Emacs you can edit text right away and there are no "modes" to change. Emacs instead has control keys (the two main ones are "C" and "M" - on your keyboard that's "Control" and "Alt" - I've remapped my control key to be the Caps Lock key since it makes my pinky finger less angry). So if while I'm editing I wanted to delete a few words, I would position my cursor then hold down Alt and press "d" until the words I wanted deleted are deleted (in emacs lingo: "M-d"). This has the benefit of not "context" switching into other modes but it means you now have to be very clever with your key combinations so you don't end up playing Twister! on your keyboard for more complicated tasks (that's why some people prefer Vim because it negates that problem with "modes").
Emacs doesn't want to be an MP3 player - Emacs wants to be whatever the person using it wants it to be. To me that's what wins me over to Emacs; if I need my editor to do something that it doesn't do stock, I have the full power to add/change/remove whatever it is I want it to do. Additionally there's an enormous community of people with far more knowledge and experience in doing that to tap into, plus, if you want it do something it's most likely someone already has done (and done it better).
Vim also doesn't want to be an MP3 player - matter of fact, you would get stoned by the Vim community for saying that, those guys are all about efficiency. I love Vim because of its efficiency - I actually really hate Emacs over SSH (to all those saying "use TRAMP!" I have, and it's not nearly as cool as using Vim over SSH). My editor of choice when working directly on a server editing code is Vim, it's fast, concise, and very powerful.
There is no editor war today - there's the never ending jihad between annoying emacs users and vim users that think their editor of choice is better than the other (I think those people are stupid, because BOTH EDITORS ARE AMAZING and EVERYONE HAS A DIFFERENT PREFERENCE). Technical people use editors that empower them to write software; people who don't want to think about text editing are still keyboard pecking when writing their emails.
- gamble 15y agoMy understanding of the origins of emacs & vim: emacs originated as the tool of choice for programmers. In those days a programmer would sit at a single text-based terminal all day, working dawn-til-dusk in a single editor process on a complex set of files stored on one system. emacs was designed to be an all-encompassing and extensible environment, because the programmer had the time and skills to sculpt his environment for maximum efficiency - and because the operating system shell was extremely basic in those days. vim arose as a sysadmin's tool. Unlike programmers, sysadmins were constantly moving between systems and performing a variety of simple edits on various text files. They needed an extremely quick editor with sensible defaults, because they wouldn't be working on a single system long enough or doing anything complex enough to benefit from a customized environment. Which editor is superior today depends on which archetype a particular user resembles. If someone isn't interested in crafting emacs into a cybernetic extension of their own mind, they're missing the point and should probably stick with vim for its sensible out-of-the-box behavior. They're both strictly superior to every other text editor available, because they're both fully accessible through keystrokes.
- mnemonicsloth 15y agoYou're acting like I've never heard of either Emacs or Vim before, and you shouldn't do that. The net effect is to make HN less fun and less useful for everyone. Because the next time I think about starting a conversation on, say, similarities and differences between successful, competing software packages and the cognitive models they encourage... I'll remember that this time, when I tried to keep my opening post friendly, informal, and solicitous, you assumed I was an idiot. I'll be sure not to make jokes when I think someone else is getting too uptight, because jokes are emotional and text editors are serious business. And most importantly, next time I'll establish my credentials up front, by prepending everything in my .emacs.d to all my posts. It's a little verbose, but it means nobody gets insulted by being mistaken for a n00b. Plus, in Conkeror, it's really easy to write a regex that will detect 30,000 lines of custom elisp and set it to {display:none;}.
- Ixiaus 15y agoIs this in response to my other comment or this direct comment? Nothing about the comment you are responding to here is attacking you. Your understanding (or writing, as I said) is flawed. Maybe you aren't a noob and you just aren't expressing yourself well enough. Your comment wasn't "unfriendly" it just wasn't enlightening. I did not assume you were an idiot and no where in my comment did I insinuate that. Nothing about an .emacs.d proves you are a competent emacs user - I've seen some hideous init files come from Emacs noobs and hideous init files come from power users! Depends on what you mean by jokes - Hacker News (less so now than a few years ago) tends to be a serious forum for discussion; reddit-esque joking around is both frowned upon and discouraged. Although, TBH I didn't see any "jokes" coming from you at all. I wasn't responding to your jokes (unless you're talking about my other comment in response to you).