Introduction
CotEditor is a free, open-source plain-text editor for macOS that has been actively developed since 2005. It provides a native Cocoa experience with syntax highlighting, split editing, and scripting support while remaining lightweight and fast.
What CotEditor Does
- Provides syntax highlighting for over 50 programming and markup languages
- Offers powerful find-and-replace with full regular expression support
- Supports split editor views for comparing or referencing multiple sections
- Handles multiple character encodings including Unicode, CJK, and legacy encodings
- Integrates with macOS features like Quick Look, Services, and AppleScript
Architecture Overview
CotEditor is written in Swift using AppKit (Cocoa) framework, providing a fully native macOS experience. The text engine builds on NSTextView with custom extensions for syntax parsing. Syntax definitions are declarative YAML files that can be user-extended. The app uses Grand Central Dispatch for background tasks like encoding detection and large-file handling.
Self-Hosting & Configuration
- Install from the Mac App Store, Homebrew Cask, or build from source with Xcode
- Custom syntax styles go in ~/Library/Application Support/CotEditor/Syntaxes/
- Themes are stored in ~/Library/Application Support/CotEditor/Themes/
- Configure line endings, encoding detection priority, and tab behavior in Preferences
- AppleScript and shell script macros can be added via the Script menu
Key Features
- Native macOS performance with instant launch and smooth scrolling
- Live character and word count inspector
- Vertical text layout support for CJK writing
- Customizable color themes with live preview
- Open-source and free with no subscription or telemetry
Comparison with Similar Tools
- Sublime Text — More feature-rich and cross-platform, but proprietary and paid
- BBEdit — More powerful for text processing, but paid license required
- TextMate — Similar philosophy but less actively maintained
- VS Code — Far more capable as an IDE, but much heavier for quick text editing
- Nova — Native Mac IDE with more features, but paid and heavier
FAQ
Q: Is CotEditor suitable as a primary code editor? A: It excels for quick editing, config files, scripts, and writing. For full IDE features like debugging or LSP, use VS Code or Xcode alongside it.
Q: Can I add syntax highlighting for a new language? A: Yes. Create a YAML syntax definition file and place it in the Syntaxes support directory.
Q: Does CotEditor support plugins? A: It supports scripting via AppleScript, JavaScript for Automation (JXA), and shell scripts, but not a traditional plugin system.
Q: What macOS versions are supported? A: The latest version requires macOS 14 (Sonoma) or later. Older releases support earlier macOS versions.