Linux users have more text editors, IDEs, and command-line tools than a programmer can shake a stick at. If you're looking for a good programming text editor, we recommend Kate. It's super easy to get started with, but is quite powerful and has lots of great plugins to beef it up.
Note: Moreso than other categories, this is an area in which everyone has different needs, and it's hard to pick a "best". We wanted to focus on text editors rather than full IDEs and command line tools here, but we'll discuss all your options in the competition section below.
- Syntax highlighting support for more than 180 languages with bracket matching (to make sure you don't forget to close anything)
- Code folding/collapsing
- On-the-fly spell checking
- Show multiple documents at once with window splitting
- Session support
- Bookmarking system with scroll bar marks
- Code autocompletion with argument hints
- Vi input mode (for your vim junkies out there)
- Search & replace for multiple opened files or files on the disk
- Version control
- Extensible through plugins and scripting
Kate hits the sweet spot in terms of features (high), learning curve (low) and price (free). You can use it as a simple text editor with syntax highlighting or, between all its features and plugins, make it do almost anything a full IDE could do. It's the perfect editor for those just getting into the world of programming, as you'll quickly discover all the awesome features an advanced editor has to offer without feeling overwhelmed and confused.
The biggest downside with Kate is that, as a KDE application, it's not going to integrate well with a GNOME system. It's also going to seriously eat away at your system resources if it isn't running in its native KDE environment, but we'd argue it's well worth it — editors like gedit just don't match up in terms of programming features. That said, if you're a bit more experienced, you may also find a full IDE to be more up your alley, in which case you can try one of the alternatives below.
There are more programming tools for Linux that we could possibly name here, but here are some of the most popular.
Eclipse is, unlike Kate, a full integrated development environment, which means it can do things like compile code. If you need something beyond a "programming text editor", Eclipse is one of the most popular IDEs, and probably a good place to start. It has a steeper learning curve, so you may need to do a little reading before you get started.
Vim is undoubtedly one of the most popular editors, with a very fervent fanbase — and with good reason. While it easily has the steepest learning curve of the editors presented here, it also has the potential to make you insanely fast. Vim is a command-line editor that's completely keyboard-based, and once you learn your way around, it's blazing fast — plus you can use it in any OS, on any desktop environment and it won't take up a lot of system resources. If you really want to get serious about editing your code, you should take a look at Vim.
Emacs is very similar to Vim: it's a command-line editor designed for editing code, although it has a lot of extensions that can do just about anything, from browsing the filesystem to reading RSS feeds. It's learning curve is steep, but not quite as steep as Vim's. That said, it's also not quite as fast either — you may want to try both and see which you like better.
Lastly, if all you need is some very basic syntax highlighting and simple coding features, the trusty gedit is a good text editor to use. It's incredibly simple to use, comes with most GNOME-based distros, and even has some handy plugins to beef it up. It's not nearly as powerful as the other editors mentioned here, but it'll get the job done in a pinch if all you're editing is a quick config file or other piece of code.
Like we said before, there are a plenty of editors out there, and we've barely scratched the surface here. Many of you likely have your own favourites, so if we didn't mention yours, be sure to share it with us in the comments below.
Lifehacker's App Directory is a new and growing directory of recommendations for the best applications and tools in a number of given categories.