Dte – Text Editor

https://craigbarnes.gitlab.io/dte/
dte logo About Releases dte dterc dte-syntax

A small and easy to use terminal text editor.

screenshot

Features

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.

{
"by": "tankfeeder",
"descendants": 2,
"id": 40246818,
"kids": [
40266116,
40252576
],
"score": 34,
"time": 1714738686,
"title": "Dte – Text Editor",
"type": "story",
"url": "https://craigbarnes.gitlab.io/dte/"
}
{
"author": null,
"date": null,
"description": "A small, configurable text editor",
"image": "https://craigbarnes.gitlab.io/dte/logo.svg",
"logo": null,
"publisher": null,
"title": "dte",
"url": "https://craigbarnes.gitlab.io/dte/"
}
{
"url": "https://craigbarnes.gitlab.io/dte/",
"title": "dte",
"description": "About Releases dte dterc dte-syntax dte Features Installing Building Documentation Contact Donations License ...",
"links": [
"https://craigbarnes.gitlab.io/dte/"
],
"image": "",
"content": "<div>\n <img alt=\"dte logo\" src=\"https://craigbarnes.gitlab.io/dte/logo.svg\" />\n <a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/index.html\">About</a>\n <a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/releases.html\">Releases</a>\n <a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/dte.html\">dte</a>\n <a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/dterc.html\">dterc</a>\n <a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/dte-syntax.html\">dte-syntax</a>\n <ul>\n <li><a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/#dte\">dte</a>\n <ul>\n <li><a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/#features\">Features</a></li>\n <li><a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/#installing\">Installing</a></li>\n <li><a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/#building\">Building</a></li>\n <li><a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/#documentation\">Documentation</a></li>\n <li><a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/#contact\">Contact</a></li>\n <li><a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/#donations\">Donations</a></li>\n <li><a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/#license\">License</a></li>\n <li><a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/#source-code\">Source\n Code</a></li>\n </ul></li>\n </ul>\n<p>A small and easy to use terminal text editor.</p>\n<p><a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/screenshot.png\"><img src=\"https://craigbarnes.gitlab.io/dte/screenshot.png\" alt=\"screenshot\" /></a></p>\n<h2 id=\"features\">Features</h2>\n<ul>\n<li>Multiple buffers/tabs</li>\n<li>Unlimited <a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/dterc.html#undo\">undo</a>/<a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/dterc.html#redo\">redo</a></li>\n<li>Regex <a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/dterc.html#search\">search</a>\nand <a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/dterc.html#replace\">replace</a></li>\n<li>Syntax highlighting</li>\n<li>Customizable <a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/dterc.html#hi\">color schemes</a>\n(including 24-bit RGB)</li>\n<li>Customizable <a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/dterc.html#bind\">key\nbindings</a></li>\n<li><a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/dterc.html\">Command\nlanguage</a> with auto-completion</li>\n<li><a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/dterc.html#macro\">Macro</a>\nrecording</li>\n<li>Unicode 15 compatible text rendering</li>\n<li>Support for all xterm key combos (including <a target=\"_blank\" href=\"https://invisible-island.net/xterm/manpage/xterm.html#VT100-Widget-Resources:modifyOtherKeys\"><code>modifyOtherKeys</code></a>)</li>\n<li>Support for <a target=\"_blank\" href=\"https://sw.kovidgoyal.net/kitty/keyboard-protocol/\">kitty's\nkeyboard protocol</a></li>\n<li>Support for terminal <a target=\"_blank\" href=\"https://gitlab.freedesktop.org/terminal-wg/specifications/-/merge_requests/2\">synchronized\nupdates</a> (to eliminate screen tearing)</li>\n<li>Support for multiple encodings (using <a target=\"_blank\" href=\"https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/iconv.h.html\">iconv</a>)</li>\n<li>Jump to definition (using <a target=\"_blank\" href=\"https://ctags.io/\">ctags</a>)</li>\n<li>Jump to <a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/dterc.html#compile\">compiler\nerror</a></li>\n<li><a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/dterc.html#copy\">Copy</a>\nto system clipboard (using <a target=\"_blank\" href=\"https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-Operating-System-Commands\">OSC\n52</a>, which works over SSH)</li>\n<li><a target=\"_blank\" href=\"https://editorconfig.org/\">EditorConfig</a> support</li>\n<li>Extensible via <a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/dterc.html#external-commands\">external\ncommands</a> and <a target=\"_blank\" href=\"https://man7.org/linux/man-pages/man3/stdin.3.html#DESCRIPTION\">stdio</a></li>\n<li>Minimal run-time dependencies (just libc on most systems)</li>\n<li>Minimal build-time dependencies (just <a target=\"_blank\" href=\"https://www.gnu.org/software/make/\">GNU Make</a> and a C99\ncompiler)</li>\n<li>Portable (to any <a target=\"_blank\" href=\"https://pubs.opengroup.org/onlinepubs/9699919799/\">POSIX</a> 2008\noperating system)</li>\n<li>Fast startup (~10ms)</li>\n</ul>\n<h2 id=\"installing\">Installing</h2>\n<p><code>dte</code> can be installed via package manager on the\nfollowing platforms:</p>\n<table>\n<thead>\n<tr>\n<th>OS</th>\n<th>Install command</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><a target=\"_blank\" href=\"https://packages.debian.org/source/dte\">Debian</a></td>\n<td><code>apt-get install dte</code></td>\n</tr>\n<tr>\n<td><a target=\"_blank\" href=\"https://launchpad.net/ubuntu/+source/dte\">Ubuntu</a></td>\n<td><code>apt-get install dte</code></td>\n</tr>\n<tr>\n<td>Arch Linux (<a target=\"_blank\" href=\"https://aur.archlinux.org/packages/dte/\">AUR</a>)</td>\n<td><code>$AUR_HELPER -S dte</code></td>\n</tr>\n<tr>\n<td><a target=\"_blank\" href=\"https://github.com/void-linux/void-packages/tree/master/srcpkgs/dte\">Void\nLinux</a></td>\n<td><code>xbps-install -S dte</code></td>\n</tr>\n<tr>\n<td>Slackware (<a target=\"_blank\" href=\"https://slackbuilds.org/repository/15.0/development/dte/\">SlackBuilds</a>)</td>\n<td>See: <a target=\"_blank\" href=\"https://slackbuilds.org/howto/\">SlackBuild Usage\nHOWTO</a></td>\n</tr>\n<tr>\n<td><a target=\"_blank\" href=\"https://cgit.freebsd.org/ports/tree/editors/dte\">FreeBSD</a></td>\n<td><code>pkg install dte</code></td>\n</tr>\n<tr>\n<td>DragonFly BSD (<a target=\"_blank\" href=\"https://github.com/DragonFlyBSD/DPorts/tree/master/editors/dte\">DPorts</a>)</td>\n<td><code>pkg install dte</code></td>\n</tr>\n<tr>\n<td><a target=\"_blank\" href=\"https://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/editors/dte/\">OpenBSD</a></td>\n<td><code>pkg_add dte</code></td>\n</tr>\n<tr>\n<td>NetBSD (<a target=\"_blank\" href=\"https://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc/editors/dte/index.html\">pkgsrc</a>)</td>\n<td><code>pkg_add dte</code></td>\n</tr>\n<tr>\n<td>Android (<a target=\"_blank\" href=\"https://github.com/termux/termux-packages/tree/master/packages/dte\">Termux</a>)</td>\n<td><code>pkg install dte</code></td>\n</tr>\n</tbody>\n</table>\n<h2 id=\"building\">Building</h2>\n<p>To build from source, first ensure the following dependencies are\ninstalled:</p>\n<ul>\n<li><a target=\"_blank\" href=\"https://gcc.gnu.org/\">GCC</a> 4.8+ or <a target=\"_blank\" href=\"https://clang.llvm.org/\">Clang</a></li>\n<li><a target=\"_blank\" href=\"https://www.gnu.org/software/make/\">GNU Make</a> 4.0+</li>\n<li><a target=\"_blank\" href=\"https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/iconv.h.html\">iconv</a>\nlibrary (usually provided by libc on Linux/FreeBSD)</li>\n</ul>\n<p>...then download and unpack the latest <a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/releases.html\">release</a>\ntarball:</p>\n<pre><code>curl -LO https://craigbarnes.gitlab.io/dist/dte/dte-1.11.1.tar.gz\ntar -xzf dte-1.11.1.tar.gz\ncd dte-1.11.1</code></pre>\n<p>...and compile and install:</p>\n<pre><code>make &amp;&amp; sudo make install</code></pre>\n<p>If you're using macOS, it may be necessary to install a more recent\nversion of GNU Make (e.g. with <a target=\"_blank\" href=\"https://brew.sh/\"><code>brew</code></a>) and then use\n<code>gmake</code> in place of <code>make</code>. For example:</p>\n<pre><code>brew install make\ngmake &amp;&amp; sudo gmake install</code></pre>\n<h2 id=\"documentation\">Documentation</h2>\n<p>After installing, you can access the documentation in man page\nformat:</p>\n<ul>\n<li><a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/dte.html\"><code>man dte</code></a></li>\n<li><a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/dterc.html\"><code>man dterc</code></a></li>\n<li><a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/dte-syntax.html\"><code>man dte-syntax</code></a></li>\n</ul>\n<p>See also:</p>\n<ul>\n<li><a target=\"_blank\" href=\"https://gitlab.com/craigbarnes/dte/-/blob/master/docs/contributing.md\">Contributor\nguidelines</a></li>\n<li><a target=\"_blank\" href=\"https://gitlab.com/craigbarnes/dte/blob/master/docs/packaging.md\">Packaging\ninformation</a></li>\n</ul>\n<p>Questions and patches may be sent by email, to the address printed\nby:</p>\n<pre><code>echo ofmisnmfbqgzdfchcbamilkoca | tr zka-hm-t @.m-ta-h</code></pre>\n<p>...although GitLab <a target=\"_blank\" href=\"https://gitlab.com/craigbarnes/dte/-/issues\">issue reports</a> and\n<a target=\"_blank\" href=\"https://gitlab.com/craigbarnes/dte/-/merge_requests\">merge\nrequests</a> are preferred, when possible.</p>\n<p>For general discussion, we also have a <a target=\"_blank\" href=\"https://web.libera.chat/?channels=#dte\"><code>#dte</code>\nchannel</a> on the <a target=\"_blank\" href=\"https://libera.chat/\">Libera.Chat</a> IRC\nnetwork.</p>\n<h2 id=\"donations\">Donations</h2>\n<p>Donations can be made via <a target=\"_blank\" href=\"https://liberapay.com/craigbarnes/donate\">Liberapay</a>. All\nsupport is very much appreciated and allows me to spend more time\nworking on dte.</p>\n<h2 id=\"license\">License</h2>\n<p>Copyright © 2013-2024 Craig Barnes.<br />\nCopyright © 2010-2015 Timo Hirvonen.</p>\n<p>This program is free software; you can redistribute it and/or modify\nit under the terms of the GNU <a target=\"_blank\" href=\"https://www.gnu.org/licenses/old-licenses/gpl-2.0.html\">General\nPublic License version 2</a>, as published by the Free Software\nFoundation.</p>\n<p>This program is distributed in the hope that it will be useful, but\nWITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General\nPublic License version 2 for more details.</p>\n<h2 id=\"source-code\">Source Code</h2>\n<p>The primary git repository and issue tracker is hosted at <a target=\"_blank\" href=\"https://gitlab.com/craigbarnes/dte\">https://gitlab.com/craigbarnes/dte</a>.</p>\n<p>The project is also on various other code hosting sites, but these\nare only secondary mirrors and may occasionally lag behind GitLab by a\nfew hours.</p>\n </div>",
"author": "",
"favicon": "https://craigbarnes.gitlab.io/dte/favicon.ico",
"source": "craigbarnes.gitlab.io",
"published": "",
"ttr": 101,
"type": ""
}