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.
Why You’d Need a Dedicated Text Editor
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 time goes on, you get used to a particular editor and the way it works. This will speed up your work compared to a newbie to the editor.
- One editor may offer a different ‘feel’ that suits you over another. This is obviously going to be subjective, hence the arguments.
- Some editors offer functionality that can assist your workflow with a particular language or framework.
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.
What You Should Look For In a Text Editor
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:
- Can you export projects from one editor and import it into another?
- Do the keyboard bindings make sense, especially if you’re coming from an editor such as Vim, which has an idiosyncratic approach to editing?
- How well supported is the text editor, in case of issues? If there’s no active support, an open-source editor is going to be marginally more suitable.
- Is the workflow logical to you, in as much as setting up projects and working daily using the editor?
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.
8 Excellent Text Editors for Windows, macOS, and Linux
Let’s take a look at the eight text editors we’ll feature. Here’s a quick summary of each one:
- Vim. This text editor has a reputation for a vertical learning curve. However, it’s actually intuitive to use.
- Atom. An open-source functional editor that has lots of ‘hackability’.
- Sublime Text. The ‘old man’ of premium text editors has been around for years, yet still delivers.
- Notepad++. Windows users will appreciate this flexible upgrade to Notepad, that can also scale with your ability.
- Visual Studio Code. A Microsoft product that has captured over half of the text editing market share.
- Intellij IDEA. A full-fledged Integrated Development Environment (IDE). There are actually a number of spin-offs available from the developers.
- BBEdit. This is a great first text editor that also has a bunch of excellent premium functionality.
- Nova. The developers are known for their previous Mac-only editor Coda – and for the popular Untitled Goose Game cult classic!
Without further ado, let’s take a look!
1. Vim
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.
2. Atom
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.
3. Sublime Text
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.
4. Notepad++
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.
5. Visual Studio Code
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.
6. Intellij IDEA
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.
7. BBEdit
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.
8. Nova (Formally Coda)
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.
In Summary
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!
Woo says
Stop suggesting vim (and emacs)… Those are for very few geeks, the rest of us are normal…
Bob says
Stop suggesting vim is only for geeks, casual users also have to edit config files and a few basic fundamentals go a long way.
Grayarea says
Is normal synonymis with incompetent.
Tzvi Edelman says
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.
Bob says
Emacs isn’t even in most linux package repository anymore, the editor wars were over years ago.
Emacs user says
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.