Dte – Text Editor
A small and easy to use terminal text editor.
Features
- Multiple buffers/tabs
- Unlimited undo/redo
- Regex search and replace
- Syntax highlighting
- Customizable color schemes
- Customizable key bindings
- Command language with command-line auto-completion
- Macro recording
- Unicode 16 compatible text rendering
- Support for multiple encodings (using iconv)
- Jump to definition (using ctags)
- Jump to compiler error
- EditorConfig support
- Extensible via external commands and stdio
- Fast startup (~10ms)
- Minimal run-time dependencies (just libc on most systems)
- Minimal build-time dependencies (GNU Make and a C99 compiler)
- Portable to any POSIX 2008 operating system
- Modern terminal support:
- Dynamic feature queries (no terminfo database or curses library needed)
- 24-bit RGB colors
- OSC 52 clipboard copy (works over SSH)
- Kitty keyboard protocol (more key combos available for binding)
- xterm's
modifyOtherKeys
keyboard protocol - "synchronized updates" (helps eliminate screen tearing)
Installing
dte
can be installed via package manager on the
following platforms:
OS | Install command |
---|---|
Debian | apt-get install dte |
Ubuntu | apt-get install dte |
Arch Linux (AUR) | $AUR_HELPER -S dte |
Void Linux | xbps-install -S dte |
Slackware (SlackBuilds) | See: SlackBuild Usage HOWTO |
FreeBSD | pkg install dte |
DragonFly BSD (DPorts) | pkg install dte |
OpenBSD | pkg_add dte |
NetBSD (pkgsrc) | pkg_add dte |
Android (Termux) | pkg install dte |
Building
To build from source, first ensure the following dependencies are installed:
...then download and unpack the latest release tarball:
curl -LO https://craigbarnes.gitlab.io/dist/dte/dte-1.11.1.tar.gz
tar -xzf dte-1.11.1.tar.gz
cd dte-1.11.1
...and compile and install:
make && sudo make install
If you're using macOS, it may be necessary to install a more recent
version of GNU Make (e.g. with brew
) and then use
gmake
in place of make
. For example:
brew install make
gmake && sudo gmake install
Documentation
After installing, you can access the documentation in man page format:
See also:
Questions and patches may be sent by email, to the address printed by:
echo ofmisnmfbqgzdfchcbamilkoca | tr zka-hm-t @.m-ta-h
...although GitLab issue reports and merge requests are preferred, when possible.
For general discussion, we also have a #dte
channel on the Libera.Chat IRC
network.
Donations
Donations can be made via Liberapay. All support is very much appreciated and allows me to spend more time working on dte.
License
Copyright © 2013-2024 Craig Barnes.
Copyright © 2010-2015 Timo Hirvonen.
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License version 2, as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License version 2 for more details.
Source Code
The primary git repository and issue tracker is hosted at https://gitlab.com/craigbarnes/dte.
The project is also on various other code hosting sites, but these are only secondary mirrors and may occasionally lag behind GitLab by a few hours.