This text editor is a bit of a hidden gem, but it borrows some of Vim’s best features and works well alongside it, too. Find out how to get up and running with Textadept, and why it could be a vital addition to your toolbox.
What is Textadept?
A fast, minimalist, extensible cross-platform text editor for programmers
Textadept is a native desktop text editor for Windows, macOS, and Linux. It’s a GUI app, and a long-running open-source project that offers yet more choice in an already-crowded field.
Out of the box, Textadept has minimal features, a bit like a basic Notepad for all platforms (at least, the classic Notepad before it started trying to become another editor/word processor hybrid).
As a fast, usable editor that gets the job done, it’s perfect for tasks like editing config files, writing Markdown, or taking notes. But the editor also has aims on the programming market, with built-in features like code-folding, syntax-highlighting, and compilation/execution.
How to download Textadept and get started
Download, extract, and run; it could hardly be easier
One of Textadept’s selling points is its simplicity, and this extends to the installation process, which involves little more than downloading the appropriate release and running it.
You can download any release from the project’s GitHub page, but I found this summary on the app’s home page less intimidating. Once downloaded, just unpack the tarball or ZIP file and run the executable inside.
Once you’ve started TextAdept, you should see a mainly empty window, ready to type into. At this point, you can create and save a new file or open an existing one. You can open a second file and, as you might expect, it will appear in its own tab in a newly displayed tab bar.
Textadept’s standout features
A great Vim-like model, incredible scriptability, and more
Probably my favorite feature, and the one that makes Textadept such a good partner to Vim as far as I’m concerned, is its borrowing of the buffer/window model. By default, files that you open—or create from scratch—appear as buffers with their own separate tabs. When you select a tab, Textadept shows its corresponding file in the window below:
However, you can also split this main window, so that you can have two views side-by-side, for example:
What makes Textadept a little different from your standard editor, however, is the separation between buffers and these views. Textadept’s tab bar isn’t fixed to a specific view; it’s just a list of open buffers that you can display in any view. This means you can easily view the same document more than once—to edit different parts of it simultaneously. For example:
Likewise, you can reserve one view for a specific file, but cycle between several files in a view underneath. And, of course, you can keep on subdividing views in whatever layout suits your workflow, much like with a tiling window manager.
Scripting
I often need a word count when I’m writing; unless I’m coding, of course! So it was a small shame to see this feature missing from Textadept initially. However, it brought to my attention the potential of this editor’s scripting capabilities, which are significant.
The API documentation covers all the areas of Textadept that you can script, and there are many of them: from bookmarks and the clipboard to low-level editing. You can even fully customize the app’s menus, which are just a simple data structure.
Here’s the code I used to add a simple character count. It’s probably not the best way of doing so, but it helps to illustrate just how easy it is to extend Textadept.
events.connect(events.UPDATE_UI, function()
ui.statusbar_text = “Characters: ” .. string.len(buffer:get_text())
end)
Theming
Every modern editor needs good theming support, and Textadept doesn’t disappoint. Following its minimalist philosophy, there are just three built-in themes, but you can easily download more from a source like this set of Base16 themes.
You can change the default theme on startup by editing Textadept’s settings file, like this:
if not CURSES then
view:set_theme(‘base16-solarized-dark’)
end
You can even apply different themes to individual views, for highly-tuned setups:
How Textadept compares with the alternatives
With plenty of competition, there’s still room for niche entries
I really like Textadept’s buffer model, although it’s a shame the app doesn’t allow for multiple windows. Still, it supports the same three ways to group documents that Vim does, but in a way that I find a bit more manageable, probably because of the GUI interface.
You can use the command-line wrapper, ta, to run Textadept with more than one window by passing it the -f / –force option. But this runs a separate instance of the app, so it’s not quite the same.
CotEditor is still my app of choice for Markdown writing, although Textadept’s syntax support seems just as good. CotEditor is a Mac-only app, so I may well migrate in the future.
Many programmers are big fans of VS Code, even recommending it for general-purpose writing. I’m still a fan of minimalism, so I’m not going to break out an IDE any time soon, but I think Textadept could still fit alongside that workflow, ideal for quick edits and distraction-free writing.
Imperfect, but decidedly original
TextAdept is a no-frills app, with some unique opinions and an occasional missing feature. But what it may lack in out-of-the-box features, it more than makes up for with core functionality and an incredibly scriptable interface.
It’s unlikely to become your first-choice editor, but as part of a consolidated stack—alongside, say, Vim and VS Code—it’s a valuable member of the team, with plenty of potential.

