- GNU Emacs
- Sublime Text
- Visual Studio Code
- Other (name it in comments)
Every website I have ever built has been built with BBEdit, in conjunction with Balthisar Tidy for Work for HTML code verification. BBEdit is a real workhorse of a text editor, quite popular with coders.
BBEdit is my favorite for editing command files and the like, but for quick sanitizing of text for pasting, TextEdit is used more often.
I use iA Writer. I can start a document from any platform, and pick it up on a different one immediately. Supports iOS, iPadOS, and macOS. I’ve been using it for so long that I forget how much I paid for the lifetime license. It supports MarkDown fully. I write from a MarkDown template, copy it, and paste into the text field of a new post in WordPress, and when I save and change to the Visual tab, all the MD tags are honored.
iA Writer. Have tried others but keep coming back to it.
GNU Emacs. It’s my go-to editor on all platforms, but I make the most use of it for my job (software development on Linux systems) using the following features:
Color syntax highlighting and code auto-formatting for most programming languages (and those that aren’t bundled with it can quickly be added-on).
One of the best file-diff utilities (
M-x ediff-buffers) for comparing two text files and quickly migrating changes between the two files (in either direction)
I particularly use this in conjunction with some custom scripts that tie it in with
gitversion control so I can, for instance, generate a list of all the files that are different between two code branches, pulling the two versions into Emacs and running
ediffagainst the two.
It also directly detects when files are under version control and can automatically compare your current working version against other revisions.
It integrates with the
gdbdebugger. So I can debug code using Emacs as an IDE - automatically pulling source files into Emacs buffers as needed, highlighting the currently-executing line, and letting me inspect values.
- It can even do this for GDB’s remote-debugging capability, which is great because most of my development is on small embedded devices that can’t host the development environment, but can host the GDB server package.
The ability to run a command-line shell in an editor buffer is also really useful. You can do almost anything you can do from a Terminal, but with the ability to immediately save the entire content to a text file.
Although not as useful today as in the past, you can run it from a text-only terminal session (e.g. a Linux text console or connected to something via a serial port) and can use it as a windowing system to run on that console (e.g. edit/view multiple files at once, including shells and debugging sessions).
- I used this extensively in the 80’s and 90’s when I was dialing into university and corporate servers using non-GUI computers and simple VT-xxx emulators for terminal software. Not as good as being on-site with access to a graphical terminal, but very useful, nonetheless.
My favorite text editor is Bean, followed by Apple Notes.
Although I am a big fan of BBEdit, I spend most of my coding time in Sublime Text. Sublime Text makes it incredibly fast to open files by fuzzy matching on file names. BBEdit’s Open File by Name is too picky and doesn’t find the files I’m looking for based on the bits of the filename I can remember. But I have owned and used BBEdit for years, and I use it for some text transformation tasks that it is just easier to do in BBEdit (Process Lines Containing is a favorite command of mine). I’m going to give it another go for use as my programming editor to see if I can make it’s Open File by Name work for me…
I use BBEdit for simple text editing and clean-up, and perhaps I’d use it more if I took the time to learn its features. But for more complicated manipulations, I use Emacs. Emacs was the first editor I learned to use, and it has a big advantage of bring free.
If you like BBEdit, they have a free tier, which you can use forever. Here’s BB’s page explaining what features are in the free version vs. a paid-up version:
Of course, if you want to get, compile and modify the application code, that’s a different kind of “free”, which applies to Emacs, but not to BBEdit.
I used to be a bit of a text editor collector. I found the range of approaches to a common problem like text editing to be an interesting subject. In the interests of nostalgia, I just looked for an old favorite, Tex-Edit, and I see it still is out there.
Like many others, I’ve settled on BBEdit, and there almost always is an open BBEdit window on any Mac I use. In addition to general text editing, it gets heavy use for me as a replacement for the old “Stickies” app for jotting down what I call “working ephemera.” (BBEdit persistently stores updates to open text windows, so even if I don’t save my ephemera as a document, it reappears when BBEdit restarts.
I like UltraEdit for cross-platform use (Mac, Windows, Linux).
I used to love Nedit as a GUI text editor on Unix and Linux systems for its balance of raw speed, syntax highlighting, and simplicity. I first encountered it on Silicon Graphics systems, where it eventually became the default GUI text editor. It’s on my short list of “perfect” programs.
I appreciate Emacs, but as a recovering Unix systems administrator, I spent a lot of time using character-based terminals, and I knew that no matter what system I sat in front of, I always could invoke vi (or a clone of it). For that reason, I gravitated toward vi over Emacs, though I consider myself agnostic on the often controversial question of which is “better.” They’re different enough that I don’t regard them as being direct alternatives to the other.
CotEditor for quick and dirty.
BBEdit as the main work horse for all kinds of pure text editing.
CodeRunner for quick Python scripting.
Panic Nova for multi-file projects, including hand-coded HTML/CSS.
I use BBEdit for general text editing tasks, including inspecting huge (>300MB) csv files - it is able to handle large files without crashing, and I can work on the contents using regular expression, in a pinch. And of course it can zap the gremlins!
I also use iA Writer for focused writing in Markdown format. I like that I can start writing on my Mac, then continue on iPad (or even iPhone) and vice versa.
IA Writer for sure, used to be Writeroom but I prefer the markdown capabilities in IA. Textmate still has a place in on my Mac, ages since last update but kind of perfect anyway.
I’m happy that so many people love BBEdit so much, and it’s clearly a very well designed app with a lot of great capabilities. But I can’t use it because [option + arrow keys] or [option + delete] behaves differently in BBEdit than elsewhere in macOS. Does anyone else notice (and get bothered by) this?
I have a newish need for cross platform support, and so have been using Joplin more and more for text editing. UpNote, Simplenote, and Dynalist (all cross platform) also have specific roles to play in my workflow.
CotEditor in addition to BBEdit
Before Vim, there was Alpha.
I had forgotten about Alpha! That was quite a nice editor in its day. I’m pleased to see that there is a relatively recent rewrite.
My fingers have been hard-wired over the years to grok vi, since I used UNIX systems before macOS went to be UNIX-like.
After that, it’s BBEdit for anything else text files/coding/etc.