When it comes to programming, nothing is arguably more heated than a debate about text editors. At times, the arguments border on fanaticism to the point that choosing the right editor almost confirms your status among your peers.
While in actuality it may not be that dramatic, selecting the right option from the plethora of text editors available is important. You have to consider your needs, the project, your current ability, and much more.
As such, this post is going to look at a number of different text editors. Throughout we’ll offer advice on which one may be more suitable. First, let’s talk more about why a dedicated text editor is necessary.
In a nutshell, your choice of text editor is important enough to warrant some serious research. Among the YouTube channels and Reddit forums, you may come across some severe fanaticism for one particular editor.
While most is hyperbole and dramatics, there is sound reasoning for getting your choice right:
As such, you’ll want to consider the makeup of your perfect text editor carefully. Getting the wrong blend of features and functionality could even set you back.
When it comes to the exact features you should seek out, most of it is largely subjective. However, there is a list of considerations you should keep in mind:
There are many more considerations you can make, but these are going to help you narrow down your options. One thing’s for certain, you should choose a text editor based on your own needs, rather than go with forum opinions.
Let’s take a look at the eight text editors we’ll feature. Here’s a quick summary of each one:
Without further ado, let’s take a look!
First off, let’s deal with the sorcerer’s text editor. Vim comes with a reputation. It’s known as power editor, mainly because of…well, everything about it.
It’s a terminal-based text editor that uses idiosyncratic key bindings to navigate and populate your files. There’s no Graphical Use Interface (GUI), and your hands practically have to stay on the keyboard for the entire time.
It’s open-source and pre-packaged with macOS and Linux machines. As such, it’s become an editor of choice for sysadmins and general IT techs. Even so, it’s actually intuitive, and the built-in vimtutor takes about an hour to complete.
We’d suggest that Vim isn’t necessarily suitable for a coding beginner, because you have to learn Vim as well as your language of choice. However, if you have the stomach, getting to grips with Vim is going to make you more efficient and knowledgeable in the long run.
Next, Atom is a text editor that once got a lot of love, but has fallen out of favor with developers. However, it’s still capable and worth installing – perhaps as your primary editor.
It’s based on the Electron framework, and was developed by the GitHub team prior to the Microsoft acquisition. As such, it can lag a little compared to other native text editors.
Atom looks like many other text editors, although there are some nice touches throughout. There’s a built-in terminal for running programs, and GitHub integration as standard:
It may be a touch slow, but Atom is a worthwhile editor for both those new to coding and long-time programmers. We haven’t even touched on its extensibility through ‘packages’, which makes Atom a text editor that can be adapted to any project or language.
You’ll likely have seen Sublime Text in the past, or even heard of it. However, you may not have used it. This is a shame because it’s a fantastic minimalist text editor that can stick with you from your very first “Hello, World!” line, to large-scale professional projects.
At a base level its simply a text editor. However, it offers much more that the competition have adapted. For example, the Command Palette can be found in Atom and Jetbrains products, and the Goto Anything feature has Vim-like functionality:
Overall, Sublime Text is a great text editor, and what’s more the licensing is flexible. While the trial version is unrestricted, if you stick with Sublime Text you should pay the developer the $80 price. It’s a steal for the functionality you get.
Windows users are going to be familiar with Notepad. It’s the default text editor on the Operating System (OS) and, to be diplomatic, it’s functional. Still, this author remembers using Notepad to write early HTML, and it’s going to be the same for many web developers.
However, Notepad++ takes things up a peg or two. On the surface it looks like Notepad, but offers a bunch of other functionality such as split windows, support for over 80 programming languages, and much more.
While it may not look the part, its robustness is arguably great for big or complex projects. The user base is certainly huge, so there’s enough in the box to support this type of project.
Generally, you’ll find beginners using Notepad++ as a learning editor, and it often sticks around as a quick scripting editor at least. Of course, it also finds its way into professional development environments – testament to its quality.
It isn’t even a decade old, and Microsoft’s Visual Studio Code has grabbed over half of the market share when it comes to text editors. It’s took much of Atom’s user base over the years given the common development team, and bitten into practically every other text editor available.
It’s not hard to see why. Visual Studio Code is a free text editor first and foremost, with a comprehensive extension library to customize the editor to your needs.
It also helps that the User Interface (UI) is gorgeous, and the code looks pretty:
Visual Studio Code also brings over functionality from Atom, such as the GitHub integration. What’s more, there’s support for JavaScript and TypeScript out of the box, which is going to please front-end developers.
Even so, practically all coders can use Visual Studio Code to create and deploy projects. It’s had take up from Python developers too, so it’s adaptable to your needs as much as any other text editor.
Along with Visual Studio Code, Notepad++, and Vim, Intellij IDEA from Jetbrains is another of the top-tier text editors available.
In fact, IDEA is an IDE – hence the name – so offers much more than basic text editing. For example, you can create different run configurations to suit various production needs, or use the built-in terminal to interact with a project.
There’s also a fantastic database manager in the premium version that makes even Adminer look cumbersome. However, with this functionality comes a cost.
Jetbrains’ business model is to get you to subscribe to an annual package containing all of its tools. However, while many of these are great for working with individual languages, they’re all just spin-offs of the main IDEA program. What’s more, it can get expensive quickly.
Ultimately, unless you’re earning money from your programming, IDEA is likely out of reach. However, there is an open-source Community Edition that offers much of the same functionality, but for zero cost.
BBEdit is likely the least known on this list, but comes with a vocal user base and robust functionality.
It’s a macOS-only text editor that supports AppleScript – so if you’re looking to write powerful macros, BBEdit has you covered. Editing-wise it’s billed as a HTML editor primarily, so front-end developers are going to like this more than PHP coders.
You may have used TextWrangler in the past, which was a great all-purpose text editor that has now been sunsetted. However, those features are found in a free tier of BBEdit, which is great news for those looking for their first editor.
BBEdit has been around since 1991, so there’s a longstanding pedigree and degree of stability with the text editor. What’s more, an individual license is $49, which is good value for what’s in the box.
Finally, we have a Mac-only premium text editor – Nova. The developers (Panic) have a few macOS-specific utilities that get good reviews, such as the Transmit File Transfer Protocol (FTP) client. What’s more, they’ve published the cult Untitled Goose Game for many different platforms. Certainly, this is a company that likes to do things differently.
Suffice to say, Nova knocks it out of the park. It feels and looks just like a native Mac app would, but of course it’s a third-party text editor. There’s also a great floating quick launch bar for various Nova features:
What’s more, Panic wrote their own text layout engine after finding bugs in Apple’s own. This makes Nova snappy and responsive, which is welcome when you compare it to something like Atom.
There are a bunch of supported languages out of the box, and you can extend the functionality of Nova further too. For Mac users who don’t feel as though they’ll use another OS, Nova could fit the bill. It has a similar feel to Xcode, and at $99, it’s a steal.
While it may not be as important as sites such as YouTube makes out, your choice of text editor can make your work run more smoothly. With the right blend of features and functionality, you’ll gain more in the way of efficiency and productivity.
This post has looked at eight text editors, and they will each suit different purposes. Atom or Notepad++ are great functional editors with flexibility in their design. However, an IDE could streamline your workflow in a professional environment. For power users, Vim is a ‘hardcore’ solution with a bark worse than its bite.
Is your favorite text editor on this list, or has our roundup caused you to have a roving eye? Share your thoughts in the comments section below!
Trying to figure out how to start an online course so that you can share…
Considering using LearnDash to create online course content with WordPress? LearnDash is a popular WordPress…
WordPress XML files see a lot of use for me as a content creator, and…
If you’re looking for a way to deliver an online course, complete with all the…
Search Engine Optimization (SEO) is crucial for any website that wants to maximize its traffic…
Kinsta is a notable brand in the WordPress hosting space. The standout aspect of the…
View Comments
Stop suggesting vim (and emacs)... Those are for very few geeks, the rest of us are normal...
Stop suggesting vim is only for geeks, casual users also have to edit config files and a few basic fundamentals go a long way.
Is normal synonymis with incompetent.
Emacs did not even make the list?
It's "tramp" feature lets me run one session from my work station and edit files anywhere I have ssh access.
Emacs isn't even in most linux package repository anymore, the editor wars were over years ago.
Where is emacs? As one of the oldest editors (vim is a new take on the original vi), it's able to hold it's own and continues to. Excluding it ignores what it brings to the table.