A Fork of QEmacs that hacks a native Vim/Neovim inspired modal state machine directly into it
  • C 94.9%
  • Shell 1.4%
  • Python 1.1%
  • C++ 0.9%
  • Makefile 0.6%
  • Other 1%
Find a file
Charlie Gordon ee60fcd046 Improved TTY key decoding
- get_str() returns byte count
- add KEY_xxx definitions for SHIFT, CTRL and SHIFT+CTRL cursor keys
- allow KEY_META() for cursor and function keys
- add 'key' tracing option
- improve trace output readability
- add KEY_UNKNOWN for unrecognized TTY sequences
- add unknown-key command to display unknown key details
- add buf_encode_byte() to share code
- recognise M-ESC

Improve config file parsers:
- add full-version global variable for tests in config file
- no longer display configuration file errors in tqe
- recognise variable setting syntax in tqe
  handle tab-width, default-tab-width, indent-tabs-mode, indent-width

- bump VERSION to 5.3.4
2022-08-27 20:11:38 +02:00
cp Update mapping tables 2020-11-07 17:51:16 +01:00
fonts Initial revision 2004-05-29 10:17:37 +00:00
kmap added remove_slash and append_slash path utilities 2008-01-03 09:51:29 +00:00
lang Improved VT100 emulation in shell buffers 2022-08-26 12:30:29 +02:00
libqhtml Fix many compilation warnings for clang -Weverything 2022-08-10 18:50:19 +02:00
modes More improved VT100 emulation in shell buffers 2022-08-27 19:27:44 +02:00
plugins Multiple improvements 2022-08-22 17:13:26 +02:00
tests More improved VT100 emulation in shell buffers 2022-08-27 19:27:44 +02:00
tools Fix many compilation warnings for clang -Weverything 2022-08-10 18:50:19 +02:00
.gitignore Improve build process 2021-02-01 20:38:29 +01:00
arabic.c fix indentation 2017-03-31 06:05:16 +00:00
buffer.c Improved TTY key decoding 2022-08-27 20:11:38 +02:00
cfb.c display: fixed compilation for linux 2017-04-21 14:50:53 +00:00
cfb.h added remove_slash and append_slash path utilities 2008-01-03 09:51:29 +00:00
Changelog - Added font locking to fix crash bugs in html/css. 2005-05-13 10:05:23 +00:00
charset.c Fix many compilation warnings for clang -Weverything 2022-08-10 18:50:19 +02:00
charsetjis.c Fix many compilation warnings for clang -Weverything 2022-08-10 18:50:19 +02:00
charsetjis.def Improve completion system 2020-10-27 08:38:12 +01:00
charsetmore.c Update mapping tables 2020-11-07 17:51:16 +01:00
config.eg Initial post on github 2020-10-24 23:59:54 +02:00
configure Reduce tiny build 2022-08-19 22:38:38 +02:00
COPYING Initial revision 2004-05-29 10:17:37 +00:00
cutils.c Multiple improvements 2022-08-22 17:13:26 +02:00
cutils.h fix missing include file 2022-08-10 19:06:31 +02:00
display.c Fix many compilation warnings for clang -Weverything 2022-08-10 18:50:19 +02:00
display.h x11: fix toggle-full-screen (bound to C-c f) 2017-05-21 08:10:37 +00:00
extras.c Multiple improvements 2022-08-22 17:13:26 +02:00
fbfrender.c Fix many compilation warnings for clang -Weverything 2022-08-10 18:50:19 +02:00
fbfrender.h Fix many compilation warnings for clang -Weverything 2022-08-10 18:50:19 +02:00
haiku.cpp remove trailing blanks 2020-10-21 15:01:52 +00:00
html2png.c updated credits and copyrights 2022-08-03 17:00:38 +02:00
indic.c Fix many compilation warnings for clang -Weverything 2022-08-10 18:50:19 +02:00
input.c bumped copyrights on modified files 2020-10-17 21:09:49 +00:00
kmap.c Improve file completion 2020-11-12 00:21:50 +01:00
kmaps added more Hebrew keymaps 2007-12-09 23:31:38 +00:00
libfbf.c fix compilation errors on linux 2015-10-13 20:54:00 +00:00
libfbf.h bumped copyrights, some cosmetics 2008-01-08 16:37:54 +00:00
ligatures Add charset probing functions 2014-03-01 22:37:26 +00:00
Makefile Improved VT100 emulation in shell buffers 2022-08-26 12:30:29 +02:00
parser.c Improved TTY key decoding 2022-08-27 20:11:38 +02:00
qe-doc.html Reorganize repository tree 2020-11-11 19:31:07 +01:00
qe-doc.texi Reorganize repository tree 2020-11-11 19:31:07 +01:00
qe.1 Initial revision 2004-05-29 10:17:37 +00:00
qe.c Improved TTY key decoding 2022-08-27 20:11:38 +02:00
qe.h Improved TTY key decoding 2022-08-27 20:11:38 +02:00
qe.tcc Initial revision 2004-05-29 10:17:37 +00:00
qeconfig.h Improved TTY key decoding 2022-08-27 20:11:38 +02:00
qemacs.rdef haiku: add qemacs.rdef icon 2017-03-28 20:11:55 +00:00
qemacs.spec fixed typos, comments 2006-12-09 19:02:07 +00:00
qescript.c Multiple improvements 2022-08-22 17:13:26 +02:00
qestyles.h Improve colorization 2020-10-21 09:55:01 +00:00
qfribidi.c Miscellaneous fixes, add Salmon mode 2021-04-18 21:03:45 +02:00
qfribidi.h cosmetics: untabify, remove trailing spaces 2015-08-27 23:03:39 +00:00
README.md disable blank-hilite at end of file before point 2021-02-04 21:16:13 +01:00
search.c Improved VT100 emulation in shell buffers 2022-08-26 12:30:29 +02:00
TODO.md Improved VT100 emulation in shell buffers 2022-08-26 12:30:29 +02:00
tqe.c Remove CONFIG_INIT_CALLS hack 2022-08-17 22:04:02 +02:00
tty.c Improved TTY key decoding 2022-08-27 20:11:38 +02:00
unicode_join.c Fix many compilation warnings for clang -Weverything 2022-08-10 18:50:19 +02:00
unicode_width.h unihex: fix display problems 2017-03-19 15:39:25 +00:00
unifont.lig Initial revision 2004-05-29 10:17:37 +00:00
unix.c display: improve automatic redisplay upon terminal window resize 2017-04-17 23:01:21 +00:00
util.c Improved TTY key decoding 2022-08-27 20:11:38 +02:00
variables.c Improved TTY key decoding 2022-08-27 20:11:38 +02:00
variables.h Colorize apropos window 2022-08-18 14:59:10 +02:00
VERSION Improved TTY key decoding 2022-08-27 20:11:38 +02:00
win32.c Add command descriptions 2022-08-18 01:33:00 +02:00
x11.c Improved TTY key decoding 2022-08-27 20:11:38 +02:00

Quick Emacs (QEmacs)

Welcome to QEmacs! A small but powerful UNIX editor with many features that even big editors lack.

Quick Description

QEmacs is a small text editor targeted at embedded systems or debugging. Although it is very small, it has some very interesting features that even big editors lack:

  • Full screen editor with an Emacs look and feel with all common Emacs features: multi-buffer, multi-window, command mode, universal argument, keyboard macros, config file with C like syntax, minibuffer with completion and history.

  • Can edit huge files (hundreds of megabytes) without delay, using a highly optimized internal representation and memory mapping for large files.

  • Full Unicode support, including multi charset handling (8859-x, UTF8, SJIS, EUC-JP, ...) and bidirectional editing respecting the Unicode bidi algorithm. Arabic and Indic scripts handling (in progress). Automatic end of line detection.

  • C mode: coloring with immediate update, auto-indent, automatic tags.

  • Shell mode: full color VT100 terminal emulation so your shell works exactly as you expect. Compile mode with colorized error messages, automatic error message parser jumps to next/previous error, works with grep too. The shell buffer is a fully functional terminal: you can run qemacs, vim or even emacs recursively!

  • Input methods for most languages, including Chinese (input methods come from the Yudit editor).

  • Binary and hexadecimal editing mode with insertion and block commands. Unicode hexa editing of UTF-8 files also supported. Can patch binary files, preserving every byte outside the modified areas.

  • Works on any VT100 terminal without termcap. UTF-8 VT100 support included with double width glyphs.

  • X11 support. Supports multiple proportional fonts at the same time (like XEmacs). X Input methods supported. Xft extension supported for anti-aliased font display.

  • Bitmap images are displayed on graphics displays and as ASCII colored text on text terminals, which is handy when browsing files over an ssh connection. (QEmacs uses the public domain stb_image package for image conversions.

Building QEmacs

  • Launch the custom configuration script ./configure. You can list the possible options by typing ./configure --help.

  • Type make to compile qemacs and its associated tools.

  • Type make install as root to install it in /usr/local.

QEmacs Documentation

Read the file qe-doc.html.

Licensing

QEmacs is released under the GNU Lesser General Public License (read the accompagning COPYING file).

Contributing to QEmacs

Please contact the qemacs-devel mailing list.

Authors

QEmacs was started in 2000. The initial version was developped by Fabrice Bellard and Charlie Gordon, who since then, has been maintaining and extending it.