Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/craigbarnes/dte
A small, configurable console text editor (mirrored from https://gitlab.com/craigbarnes/dte)
https://github.com/craigbarnes/dte
c c99 console console-application editor editors emacs minimalist posix terminal terminal-app terminal-based text-editor tty tui unix
Last synced: 8 days ago
JSON representation
A small, configurable console text editor (mirrored from https://gitlab.com/craigbarnes/dte)
- Host: GitHub
- URL: https://github.com/craigbarnes/dte
- Owner: craigbarnes
- License: gpl-2.0
- Created: 2017-07-22T17:42:11.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2024-10-29T13:07:18.000Z (9 days ago)
- Last Synced: 2024-10-29T13:13:24.208Z (9 days ago)
- Topics: c, c99, console, console-application, editor, editors, emacs, minimalist, posix, terminal, terminal-app, terminal-based, text-editor, tty, tui, unix
- Language: C
- Homepage: https://gitlab.com/craigbarnes/dte
- Size: 11.4 MB
- Stars: 155
- Watchers: 15
- Forks: 9
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: docs/contributing.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
dte
===A small and easy to use terminal text editor.
[![screenshot]][screenshot]
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:* [GCC] 4.8+ or [Clang]
* [GNU Make] 4.0+
* [iconv] library (usually provided by libc on Linux/FreeBSD)...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 installDocumentation
-------------After installing, you can access the documentation in man page format:
* [`man dte`]
* [`man dterc`]
* [`man dte-syntax`]See also:
* [Contributor guidelines]
* [Packaging information]Contact
-------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.[`man dte`]: https://craigbarnes.gitlab.io/dte/dte.html
[`man dterc`]: https://craigbarnes.gitlab.io/dte/dterc.html
[`man dte-syntax`]: https://craigbarnes.gitlab.io/dte/dte-syntax.html
[Command language]: https://craigbarnes.gitlab.io/dte/dterc.html
[command-line]: https://craigbarnes.gitlab.io/dte/dte.html#command-mode
[Macro]: https://craigbarnes.gitlab.io/dte/dterc.html#macro
[color schemes]: https://craigbarnes.gitlab.io/dte/dterc.html#hi
[compiler error]: https://craigbarnes.gitlab.io/dte/dterc.html#compile
[copy]: https://craigbarnes.gitlab.io/dte/dterc.html#copy
[external commands]: https://craigbarnes.gitlab.io/dte/dterc.html#external-commands
[key bindings]: https://craigbarnes.gitlab.io/dte/dterc.html#bind
[redo]: https://craigbarnes.gitlab.io/dte/dterc.html#redo
[replace]: https://craigbarnes.gitlab.io/dte/dterc.html#replace
[search]: https://craigbarnes.gitlab.io/dte/dterc.html#search
[undo]: https://craigbarnes.gitlab.io/dte/dterc.html#undo[screenshot]: https://craigbarnes.gitlab.io/dte/screenshot.png
[iconv]: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/iconv.h.html
[ctags]: https://ctags.io/
[stdio]: https://man7.org/linux/man-pages/man3/stdin.3.html#DESCRIPTION
[EditorConfig]: https://editorconfig.org/
[GNU Make]: https://www.gnu.org/software/make/
[POSIX]: https://pubs.opengroup.org/onlinepubs/9699919799/
[terminfo]: https://man7.org/linux/man-pages/man5/terminfo.5.html
[OSC 52]: https://invisible-island.net/xterm/ctlseqs/ctlseqs.html#h3-Operating-System-Commands
[Kitty keyboard protocol]: https://sw.kovidgoyal.net/kitty/keyboard-protocol/
[`modifyOtherKeys`]: https://invisible-island.net/xterm/manpage/xterm.html#VT100-Widget-Resources:modifyOtherKeys
["synchronized updates"]: https://gitlab.freedesktop.org/terminal-wg/specifications/-/merge_requests/2[Debian]: https://packages.debian.org/source/dte
[Ubuntu]: https://launchpad.net/ubuntu/+source/dte
[AUR]: https://aur.archlinux.org/packages/dte/
[Void Linux]: https://github.com/void-linux/void-packages/tree/master/srcpkgs/dte
[SlackBuilds]: https://slackbuilds.org/repository/15.0/development/dte/
[SlackBuild Usage HOWTO]: https://slackbuilds.org/howto/
[FreeBSD]: https://cgit.freebsd.org/ports/tree/editors/dte
[DPorts]: https://github.com/DragonFlyBSD/DPorts/tree/master/editors/dte
[OpenBSD]: https://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/editors/dte/
[pkgsrc]: https://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc/editors/dte/index.html
[Termux]: https://github.com/termux/termux-packages/tree/master/packages/dte[GCC]: https://gcc.gnu.org/
[Clang]: https://clang.llvm.org/
[release]: https://craigbarnes.gitlab.io/dte/releases.html
[`brew`]: https://brew.sh/
[Contributor guidelines]: https://gitlab.com/craigbarnes/dte/-/blob/master/docs/contributing.md
[Packaging information]: https://gitlab.com/craigbarnes/dte/blob/master/docs/packaging.md
[issue reports]: https://gitlab.com/craigbarnes/dte/-/issues
[merge requests]: https://gitlab.com/craigbarnes/dte/-/merge_requests
[`#dte` channel]: https://web.libera.chat/?channels=#dte
[Libera.Chat]: https://libera.chat/
[Liberapay]: https://liberapay.com/craigbarnes/donate
[General Public License version 2]: https://www.gnu.org/licenses/old-licenses/gpl-2.0.html