Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the benefit of using things such as emacs, vim, and nano over any other IDE or text editor?

From what Ive seen. emacs etc.. run in terminal. Is there any benefit to this? It seems that it would be more of a hassle to write and organize things. I'm not trying to be subjective I literally know nothing of emacs, vim, nano etc.. and would like to know more, maybe use one of them.

like image 214
Devan Buggay Avatar asked Nov 02 '10 06:11

Devan Buggay


People also ask

Why do people use Vim over Nano?

Nano does not support advanced features, such as window splitting, macros, auto-completion, viewing multiple files at once, rectangle selecting/vertical block/editing, etc. Vim is a more powerful tool with which you can make complicated edits in a quick and easy way.

Why do people use Vim over Emacs?

Vim is known to have a much steeper learning curve than Emacs. However, it's been said that putting in the extra effort is worth it because you will ultimately be able to work much faster and more comfortably in Vim.


2 Answers

Your question is a tough one. Even if they do run in terminal, it's not their primary advantage. I'm talking about Emacs and Vim right now. To be short, they've been around for at least 20 years (Vim) or more (Emacs), they have a pretty active community, they're scriptable so you can do pretty much anything with them if you know how and they're extremely powerful.

They have a pretty big learning curve, so you'll probably end up fumbling around in them for weeks, if not months, before becoming proficient. The primary motivation for learning them is productivity. You can do some pretty amazing things in a minimal amount of keystrokes compared to, let's say, Notepad.

Try one. If you like it, stick with it for some time, endure the pain and then you'll see the benefits. It's almost like going to the gym.

like image 128
darioo Avatar answered Sep 29 '22 02:09

darioo


Most people use IDEs nowadays. They help with things that you can get through analysis of things you have already written. That stuff can be very useful and helpful, but they don't really help with the core task of actually editing code. What toolmakers are banking on is that those extra things provide enough of a benefit that it will outweigh how effective vim and emacs are as editors. They have pretty much won that battle in most communities, mostly because new developers faced with a choice between great code completion and refactoring support that is simple to use, and an editor that they won't see any benefits from for about 6 months go the easy way. I know I did.

I am a vim guy now. Vim doesn't really seem to have the same upper bound of productivity, I have been using it for over a year and semi-regularly still run into things I didn't know about that make me faster. Even without that, the more I use it, the less thinking goes into what I am doing, which again, makes me faster. Also, vim exists for every language and platform, and is installed on any UNIX server out of the box. It doesn't have any load screens, virtually leaps on to the screen, works fantastically with large files, and never slows down or crashes. The skills that you learn with it will be applicable to everything you ever do for the rest of your career, as opposed to an IDE which will change when you change platforms.

Vim is an investment, but if you are talking about something you will use for 8-10 hours a day for almost the rest of your life, learning curve becomes completely irrelevant.

like image 45
Matt Briggs Avatar answered Sep 29 '22 02:09

Matt Briggs