The One Text Editor
I have been looking for the one text editor that I can use for all my writing.
One text editor. For all my files.
I write notes. I maintain a few lists (Markdown based lists), I am writing a book. I write blog articles. I doodle with words. I convert all my digital books into text files and read them in a text editor. I want to do it all in one application.
Revisiting something I wrote, iA Writer 5 Manages Files & Folders - Bicycle For Your Mind, these are the requirements I have of the text editor:
- Markdown support. Both syntax highlighting and ease in writing Markdown. I want support for all of Markdown. MultiMarkdown is preferred but CommonMark or Github Flavored Markdown will do. That means support for tables. Support for footnotes. Good keyboard command support for Markdown syntax.
- The ability to use my own font. Input Mono Narrow, if you are curious.
- Themes. Light theme for windowed documents, and dark theme for full screen.
- Typewriter scrolling.
- The ability to manage a whole bunch of folders and files within the folders. Fast search to locate an individual file when there are thousands of files to search through.
- Ability to handle large files.
- Regex support
- Support for macOS conventions. Two spaces turn into a period. The first letter of a new sentence is capitalized.
- Projects and workspaces support. I get distracted and want to be able to select individual silos of files to work on. Projects and workspaces let me do that.
- Ability to quickly go to individual files. There are a few files I access several times every day. I want to be able to navigate to them. A keyboard command to switch to and between these files is preferred.
- Ability to go to different sections of a large file. A keyboard command and I can get a drop-down list of the headers in the file, select one, hit enter and go to it.
- User selected markers and bookmarks would be a nice addition.
- Folding. I want to be able to fold/unfold sections when I am writing.
- Backups and automatic saves are preferred.
- Alfred and Keyboard Maestro text expansions have to be supported for me.
There is no editor which does all the things I want. Any choice is a compromise.
I chose Sublime Text.
Much Longer Version
I tried a whole host of editors and did a deep dive into them. These are my observations. Both the positives and the negatives.
Org mode in Emacs was an absolute revelation. I loved it. Not the task management component, I have no need for that. But the content creation component. It is the best outliner implemented in text files that I have come across. Markdown mode in Emacs is full featured.
The learning curve was brutal. You have to live in Emacs full-time and tweak till you get it to the stage where it is usable. Any small change throws things off and you are back in the rabbit hole. It was an incredible time sink. The payoff for that obsessive tinkering is huge. You can customize the editor to do everything you want it to do. The downside is that you will spend a lot of effort tearing your hair out in frustration. Unfortunately for me, I don’t have much hair left to give to the cause.
The experiment with Emacs ended a few months ago. I was sad about that. It is a great editor and org mode was fantastic but it chokes on large files. That was unexpected and unacceptable. I moved on from that.
I got tired of waiting for Ulysses to improve their handling of Markdown and let my subscription lapse at the start of the year.
Ulysses has a great environment to write in and if you are not writing Markdown, it is a beautiful place to live in. But it is constrained by what it can handle. It isn’t good with lists or notes. The organizational elements are okay, keywords make it efficient and the new style check is useful.
The downside of Ulysses is that the support and implementation of Markdown is asinine. I write in Markdown and don’t want to put up with that anymore. Hence the move away from it.
Drafts is another solution which I tried out for a while. I love Drafts. It is improving. Customizable and extendable through actions, Drafts is an absolute treat. The community around the product is helpful and the developer is responsive and efficient.
I found it hard to move away from Drafts.
There were three problems I had with it:
- Inability to handle large files.
- Lack of the ability to fold sections.
- The friction of dealing with a database backend. I like text files. Using Drafts meant that I had to be aware of moving things out of Drafts all the time. Conceptually it makes sense, start writing in Drafts, and move the content to your editor. In reality, that is a pain. I managed to often forget to export the file when I was done with it. It introduced an extra step to the process.
Using Drafts meant that I had to have other solutions to back up my usage. I needed a program to manage my large files. I needed another program to manage my notes folder.
I didn’t like the lock-in which using Drafts implied. If my notes are in Drafts, I am reliant on Drafts. The export function of Drafts is limited. You can export files individually or a bunch of them together into one file. There is no option to export a whole bunch of files individually. That doesn’t work for me.
I must admit though that this was accompanied by a certain amount of angst. I love Drafts. It is useful software but my need was one application to rule all my writing, and Drafts didn’t meet that goal.
Obsidian is an Electron application. Which means that it is non-standard when it comes to the macOS. I use items in the Services menu, not possible in Obsidian. I use the macOS spell-checker. Not available in Obsidian.
Obsidian is treading new territory in the field of note-taking. It is conceptualizing the notion of “knowledge management.” It is geared towards being your “second brain.” Towards that end, it is introducing the ability to have links and back links between your notes. It is trying to provide you a roadmap through your note-taking. Academics are drooling at that feature set. People who are serious about their note-taking are excited by Obsidian.
It has a published API (in beta), for developers to write plug-ins for the basic product. And people are writing these plug-ins. They are increasing the utility of Obsidian for all users. A note-taking software with a plugin infrastructure. I am excited by that.
It has almost all the features that I write about at the start. Full support for Markdown. Keyboard commands galore. Keyboard commands which can be user defined. Folding. Ability to deal with large files. Great search and organization abilities. Obsidian is near-perfect. Except for two things:
- Non native.
- Memory hog. Electron apps by design eat memory.
Obsidian is a free product for personal use. They have a revenue stream geared towards publishing and syncing. But you don’t have to use that. I paid up for Insider status, because I was excited by the product and wanted to contribute to its growth.
I haven’t given up on Obsidian. I use it regularly to see what is going on with the product. The plugins and the development of insider builds keeps me checking on the progress and I might switch over to it one day. But at this point, I am not sold on the non-native nature of Obsidian, or it’s extreme appetite for memory.
The Main Contenders
Now we deal with the main contenders: iA Writer, BBEdit, and Sublime Text.
I could have chosen any one of these and been happy with the choice. They are all capable of being the one text editor which handles all my needs. I have spent the better part of the last five years switching between them. I am tired of this switching behavior. I am aware that not using one of them exclusively hampers my ability to get familiar with the product. Two of these three, BBEdit and Sublime Text are deep products which need a certain amount of immersion before you are going to be familiar and comfortable with their feature set. The keyboard commands aren’t going to be melded into your fingers if you are constantly switching around. Your comfort with the application is going to be a function of how much time you spend with it. That comfort will ensure that you are going to be productive in it.
iA Writer is an exception in this crowd. It is a simpler alternative. It has a smaller feature set than the full-fledged editors. It is easy to get comfortable with it. There are less things to learn because the program does less. It is a Markdown focused text editor. It doesn’t write .json files, or any other file. It is good at handling Markdown. There are keyboard commands galore.
iA Writer is the only one amongst the main contenders, which lets me, what I call, “lazy type.” Two spaces is a period. First letter of every sentence is capitalized. macOS compliant. Drafts is the other program which lets me “lazy type.”
There are little touches all over which makes iA Writer a treat to live in. It is great at giving you the ability to manage your files and folders. Lets you organize a bunch of favorite files and folders which are easy to switch between. Simple, efficient and fast.
I use it every time I publish something. But it is not my main editor for three reasons:
- No folding. iA Writer doesn’t let me fold sections. It provides an easy way to get to sections, but it doesn’t let you fold/unfold sections.
- The themes and the font choices. I like the themes (dark and light) and fonts iA Writer ships with. However, I want more choices. I want a solarized theme. I want the ability to use my own fonts. I get bored and having to make those choices gives me an opportunity to procrastinate and not write.
- The simplicity is alluring but it gives me the feeling that I am missing something. Both BBEdit and Sublime Text do much more. I miss all those features when I am in iA Writer. Markers and bookmarks. Workspaces. Regex searches. View invisible characters. Search for them. Replace them. There is a whole world out there and iA Writer, by its focused nature, keeps me away from that.
I think I am being silly. I keep telling myself that George Martin uses WordStar. I should be perfectly happy in iA Writer. Take advantage of its focus and live in it. I find myself struggling with that. I don’t have a good explanation or rationale for my behavior. I find myself longing for full-fledged text editors when I am working in iA Writer. I think it is the wrong call. But it is a call I made.
BBEdit and Sublime Text
The best text editor is the one you know how to use.
I know Sublime Text. I don’t know BBEdit.
I did a deep dive into BBEdit for the past few months. I read the manual. It is a great product. It is stable. Amazing support and full-featured. It deals with whatever you can throw at it and for those who are interested in acquiring a text editor for life, it is as good a choice as Sublime Text.
I prefer Sublime Text. Of the list of features I mentioned at top of this article, Sublime Text doesn’t let me “lazy type.” Besides that, Sublime Text does everything I want it to do. The added selling point? I know how to use it. I have lived in this for about five years and am wondering why I bothered to leave. Boredom makes you do strange things.
There are a few plugins which make Sublime Text the editor for me. They are:
- MarkdownEditing - Packages - Package Control. This is the package which makes writing in Markdown fantastic in Sublime Text.
- GitHub Markdown Snippets - Packages - Package Control. Another one which makes the whole process of writing Markdown simple.
- ColorHints - Packages - Package Control. Helps you create and tweak themes.
- PlainTasks - Packages - Package Control. Lets me use TaskPaper files within Sublime Text.
These four are essential to my use of Sublime Text.
I am going to stick to Sublime Text for the next six months.
I started out with Sublime Text about 10 years ago. Moved away from it and now I am back to it. Feels good to be home.
macosxguru at the gmail thingie.
Note: Thanks to Photo by Andrea Piacquadio from Pexels
Addendum: Another person taking a similar journey. Looking For My Perfect App – Greg Morris
Another Perspective: What writing app is the right app? | by ldstephens | Medium