Choosing a Text Editor for Web Development
One of my favorite things about web development is the extremely low barrier to entry. The only tool you need to build a web page is a text editor. And your brain. The only tools you need to start building a web page are a text editor and your brain. And a web browser. The three tools you need to start building a web page are a text editor, your brain, and a web browser. And a debugging plugin. The four tools you need…
You know what, lets just focus on the text editor for now. The good news is that there are tons of free text editors to choose from. The bad news is that there are tons of free text editors to choose from. Deciding which one to use is overwhelming, but the wealth of options means you are bound to find one that suits you. While I can’t tell you definitively which one is the best, I can help point you in the right direction.
The first important distinction we need to make on this journey of discovery is the difference between text editors and word processors. A text editor produces a plain text file with a simple character set. The contents of a plain text file are just that, plain. You cannot visually format plain text with effects like bold or italics. A word processor document, on the other hand, can contain visual modifications like font size, tables, font family, and so forth. Libre Office and Microsoft Word are examples of word processors. It is possible to create a plain text document with these programs, but… don’t.
Your operating system of choice will determine the text editors available to you. Every operating system is bundled with a basic text editor. Linux distros will often include gedit, Mac OS comes with TextEdit, and Windows features the classic Notepad program. These are perfectly acceptable text editors, however they are not very feature rich. gedit can be transformed into quite the text editing beast, but it takes a good number of plugins to do so.
At the very least, we should look for a text editor that supports multi document (tabbed) editing, and syntax highlighting. Syntax highlighting improves the readability of your code by displaying the text in different colors according to the category of terms. In an HTML document, for instance, tags, attributes, and content all have a distinct color. Notepad++ is a often recommended as a powerful, lightweight text editor for beginners. This is the text editor I learned on, so it’s quite special to me. The downside is that it is only available on Windows. Geany, Bluefish, and Komodo Edit are all excellent alternatives for Linux users. On the Mac OS side, Smultron is also very similar to Notepad++.
While these are good starting points, newer text editors have made incredible advancements that can boost your productivity once you are comfortable writing code. Oft cited as the favorite of professionals, Sublime Text’s feature set will leave you green with envy. The only problem; it’s not free or open-source. Github’s Atom is a free, open-source alternative to Sublime Text, offering a familiar interface and many of the same features. As of this writing, Atom is only officially available for Mac OS, but it is possible to install it on Linux.
Atom isn’t the only text editor taking a page from Sublime Text’s book. Light Table and Brackets are two up-and-coming, cross-platform, open-source text editors that look and feel similar to Sublime Text while offering enough new features to stand on their own. Brackets is specifically tailored to web development, and includes some awesome features such as a live preview that updates your browser while you are writing code.
We’ve only scratched the surface of the available text editors. We didn’t even get to Vim or Emacs! Maybe some other time. With the exception of Sublime Text, all of the text editors mentioned are free, so there’s no reason you can’t try all of them and find the one that fits your needs best.