CotEditor: A Competent, Open Source, Native Text Editor for macOS
Product: CotEditor -Text Editor for OS X
When it comes to text editors, there are a ton of free options on the macOS1. macOS ships with TextEdit which can be used as a text editor, through the terminal it gives you access to vim and emacs. There are a few well developed applications available from third party developers. Atom is a free text editor from the github folks. Brackets - A modern, open source code editor that understands web design. is a free text editor from Adobe. The oldest player in this space is of course, Bare Bones Software | TextWrangler. The not-so-poor-cousin of Bare Bones Software | BBEdit 11, is one of the best free alternatives available on the macOS platform. While I was writing this article, BBEdit 11.6 just got released and it introduces a new demo model.
There are a couple of new additions to this space. I have talked about Syntra Small: A Fast and Free Text Editor - iPadpedia and now it is the turn of CotEditor -Text Editor for OS X.
CotEditor is a macOS exclusive. This lets it support macOS features without worrying about compatibility with other platforms. It surprised me to discover that the help file for CotEditor is written in Mac help format. I haven't seen this in ages.
CotEditor supports AppleScript. Supports Services. Supports versions, using the in-built macOS feature. It is a well-behaved Mac citizen.
Another advantage of being a macOS exclusive is the support for customizing your toolbar. You have the ability to add a slew of commands, I like the toggle for invisible characters.
CotEditor is designed to be fast at launch. And it is. It is instantly on and ready for you to work.
It is available from the Mac Store, here. But it is an open source project. CotEditor seems to have an active community aiding its development and if the pace of updates being released is any indication, it is a vibrant community.
CotEditor Project is the github repository for it. Consider joining it if you have something to contribute.
For those of you who write code, CotEditor provides syntax highlighting for more than 50 languages. You can create your own settings.
For my work, it does a good job of syntax highlighting Markdown.
Regex Enabled Find and Replace
CotEditor has a powerful find and replace function and it is implemented by using the Onigmo regular expression engine. I have no idea how good the Onigmo engine is. I tried a few rudimentary regex based search and replace patterns and they worked great.
CotEditor supports a macOS feature called versions. You work on a document and CotEditor saves multiple copies of it as you work in it. If you need to, you can go back to a previous version of it. Similar to the TimeMachine UI, Versions is useful when you want to get back to a previous state of the document. This is one of the advantages of having a text editor which is macOS only.
CotEditor provides a feature which the developer calls an Outline Menu. It lets you go to sections in your document, through a dropdown menu at the top of your editing window. If you are writing a long document, it is useful to be able to skip into different sections through the outline menu. I am sure this will be helpful for the code slingers too.
In CotEditor, you can split the editing window into multiple panes. So you can look at different parts of the document while editing a different part of the same document. This makes it easier to work on a longish document and gives you an opportunity to be consistent in tone and content. I like the split view in CotEditor.
"Inspect unicode character data of each selected character in your document and display them in a popover." I have no idea what this is supposed to do and why this is useful. I write Markdown and this is not something which I have to deal with, but if you are interested, you can.
CotEditor is scriptable and it supports Python, Ruby, Perl, PHP, UNIX shell or AppleScript as the macro language. For those of you familiar with AppleScript this is something which will make you smile. A text editor with inbuilt support for AppleScript? Fantastic. BBEdit amongst the majors is the only competitor who does this and does this well.
CJK Language Friendly
This is a feature which is lauded by the developer. I am not equipped to check this out, but it is supposed to be friendly to Chinese, Japanese, and Korean languages.
CotEditor has an extensive set of preferences which you can set through the usual macOS preference pane. I am used to setting preference settings through a json file in Sublime Text 3. But this is the macOS way of doing things. It is comprehensive, well thought out and easy to access and navigate.
I like the ability to control exactly what is shown in the UI of the editor.
I appreciate the choice of a vertical split editor window.
The Appearance pane in the preferences window lets you control invisible characters and lets you create individualized themes. I like the control and the design of this feature. Makes it easy to tweak the editor to look exactly the way you prefer.
I liked the concentration on keyboard commands. You have the opportunity to change the keybindings associated with every command available in the editor. For those of you familiar with a text editor and its keybindings, it is easy to make CotEditor do your bidding with the same keyboard commands you are familiar with. This is the kind of attention to detail that makes me evangelize CotEditor to everyone who needs a text editor.
Has a rudimentary support of snippets built into the program. It is constrained by being tied to a keyboard command and not a text based expansion mechanism. But it is there. It is admittedly rudimentary.
CotEditor is not going to make me move away from Sublime Text 3. But that is not its goal. It is an offering for people who are new to text editors and who are looking for a free, open-source alternative. It is capable, fast, well-designed and a pleasure to use.
macosxguru at the gmail thingie
Yes, I have started using that moniker.↩