Dte – Text Editor

https://craigbarnes.gitlab.io/dte/

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

Requirements

In addition to the build dependencies mentioned above, the following are also needed for a correctly/fully functioning editor:

  • POSIX 2008 conforming operating system
  • Properly configured UTF-8 locale
  • ECMA-48 compatible terminal (supporting at least the CUP and EL control functions)

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": "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...",
"links": [
"https://craigbarnes.gitlab.io/dte/"
],
"image": "",
"content": "<div>\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\nschemes</a></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 <a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/dte.html#command-mode\">command-line</a>\nauto-completion</li>\n<li><a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/dterc.html#macro\">Macro</a>\nrecording</li>\n<li>Unicode 16 compatible text rendering</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://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>Fast startup (~10ms)</li>\n<li>Minimal run-time dependencies (just libc on most systems)</li>\n<li>Minimal build-time dependencies (<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>Modern terminal support:\n<ul>\n<li>Dynamic feature queries (no <a target=\"_blank\" href=\"https://man7.org/linux/man-pages/man5/terminfo.5.html\">terminfo</a>\ndatabase or curses library needed)</li>\n<li>24-bit RGB colors</li>\n<li><a target=\"_blank\" href=\"https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-Operating-System-Commands:~:text=5%202%20%20%E2%87%92%C2%A0%20Manipulate%20Selection%20Data\">OSC\n52</a> clipboard <a target=\"_blank\" href=\"https://craigbarnes.gitlab.io/dte/dterc.html#copy:~:text=Copy%20to%20system%20clipboard\">copy</a>\n(works over SSH)</li>\n<li><a target=\"_blank\" href=\"https://sw.kovidgoyal.net/kitty/keyboard-protocol/\">Kitty\nkeyboard protocol</a> (more key combos available for binding)</li>\n<li>xterm's <a target=\"_blank\" href=\"https://invisible-island.net/xterm/manpage/xterm.html#VT100-Widget-Resources:modifyOtherKeys\"><code>modifyOtherKeys</code></a>\nkeyboard protocol</li>\n<li><a target=\"_blank\" href=\"https://gitlab.freedesktop.org/terminal-wg/specifications/-/merge_requests/2\">\"synchronized\nupdates\"</a> (helps eliminate screen tearing)</li>\n</ul></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=\"requirements\">Requirements</h2>\n<p>In addition to the build dependencies mentioned above, the following\nare also needed for a correctly/fully functioning editor:</p>\n<ul>\n<li><a target=\"_blank\" href=\"https://pubs.opengroup.org/onlinepubs/9699919799/\">POSIX</a> 2008\nconforming operating system</li>\n<li>Properly configured <a target=\"_blank\" href=\"https://datatracker.ietf.org/doc/html/rfc3629\">UTF-8</a> <a target=\"_blank\" href=\"https://man7.org/linux/man-pages/man7/locale.7.html\">locale</a></li>\n<li><a target=\"_blank\" href=\"https://ecma-international.org/publications-and-standards/standards/ecma-48/\">ECMA-48</a>\ncompatible terminal (supporting at least the <code>CUP</code> and\n<code>EL</code> control functions)</li>\n</ul>\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": 107,
"type": ""
}