

In my opinion, it’s come to a point where it feels like it’s trying to do anything and everything for everyone, which is not necessarily a good thing. Like most established software, development for it continues and feature after feature has been added. UltraEdit hit the scene almost 20 years ago and is very rich in features. Hardcore Unix/Linux developers tend to choose either Emacs or vi and never, ever change. Emacs allows you to customize everything from its functionality (cut, paste, replace, etc.) to its user interface, to the point where it can be used as an IDE to allow a user to edit, compile, debug, and version control code. Like vi, Emacs has been around a long time and is very powerful, but at the same time it can be intimidating to newcomers.

Very similar to vi in terms of availability, this editor can almost always be found on a Unix-like system, and if it’s not, it can easily be installed for free. Because it’s been around for so long, you can easily find plugins for everything and anything from integrating to a MySQL database to using it together with GitHub. The fact that you can’t just start up vi and type away takes some getting used to, but once you get the hang of it you can become very productive with it. Vi is not very intuitive for new users and its modal editing system and cryptic command set can be intimidating, but long-time users swear by it (or at it). One of these clones, vim, is now the version most developers use. So, without further ado, my list of editors (in the order in which I started using them): vi/vimĬoming out of UC Berkeley in the 1970s, vi was the first major full-screen unix editor, and vi or one of its clones has been standard on virtually all Unix-like systems since then. I encourage you to give each a try, if you haven’t already. Ideally I’d give each editor its own blog post, but since it’d take a pretty long time to cover every single one, for now I’m only going to focus on those that I’ve had a chance to use and can comment on. Project organization and easy file navigation (tabbed document interface).Integration with version control systems.Powerful regular expression support, macros, scripts, etc.Multi-language (C/C++, Java, Perl, PHP, Ruby, etc.) syntax highlighting support.Ability to open/edit remote files (FTP/SFTP).What do developers look for in an editor? For the most part: The “best editor” depends highly on the project at hand. And even if you do have a favorite right now, don’t be afraid to try out others-you might be pleasantly surprised with something new. But the good news is there are lots of editors out there with tons of different features, so with a little experimentation, you can find one that fits your needs and preferences. All developers have their favorite text/code editor, but is there one, best, magic bullet editor? Well, no.
