Request for comments on the Unix/Linux editors.

Avatar image for notsosneakyguy
NotSoSneakyGuy

273

Forum Posts

38

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

As a young man in the programming game, I wonder if I should bother learning to use vi or emacs. I'm not sure of what I can learn that will be valuable.

vi is arguably useful for its ubiquity across all unix/linux platforms.

With modern IDEs would you bother trying to use emacs for your development environment?

Avatar image for catsakimbo
CatsAkimbo

805

Forum Posts

31

Wiki Points

0

Followers

Reviews: 0

User Lists: 3

Well firstly, you should learn the basics of vi no matter what for when you need to edit something on a brand new server instance or on a tiny device that you can't install additional stuff to.

Beyond that, it's very subjective. Vi has a pretty intense learning curve, but to borrow a video game term, a higher "skill ceiling". For day-to-day work, I'd still prefer Sublime in either case.

Avatar image for ben_h
Ben_H

4828

Forum Posts

1628

Wiki Points

0

Followers

Reviews: 1

User Lists: 5

#3 Ben_H  Online

With modern IDEs would you bother trying to use emacs for your development environment?

It all depends on what you like. Some people really like the emacs way of doing things and the hotkeys. Some people like the vi/vim way of doing things. I'm in the latter camp now after a year of using emacs. I definitely think you should learn one of them for sure. Even just so you can work on a remote server if you have to (if you do a degree in CS or related stuff, you may have to run things on school servers remotely, and in this case knowing how to edit files from the command line using vim or emacs is essential. I spent probably 2-3 hours a day working on files using vim on the school servers in my systems programming class).

Stuff like Sublime Text muddies the water a lot. I use Sublime and so do many, many, many other developers. I use it mainly because the interface is simple and is easy to navigate while still being quite fast. It also has a lot of additional packages that can be installed to extend it and make it more useful (I particularly like the package that shows changes versus the last version on your git repository. Not to mention there are thousands of color schemes you can install so you can find the one that works best for you, or even make your own).

As for why to use basic text editors when IDEs exist. There's lots of reasons. Most importantly, using a text editor and a command line gives you a lot of control over everything and forces you to learn how things work (which then contributes to a deeper understanding). IDEs tend to hide how things work and just "magically" compile and run everything. This is useful in cases working on huge projects with other people or for specific types of projects where certain IDE-specific things are needed, but when just learning, it can actually be negative. It also is sometimes viewed as overkill for small projects like basic assignments (my one prof likened it to using a helicopter to go the corner store a half block away). Using a simple text editor and a command line allows you to understand more of what goes into actually making a program.