GNU Zile

GNU Zile is a text editor development kit, so that you can (relatively) quickly develop your own ideal text editor without reinventing the wheel for many of the common algorithms and data-structures needed to do so.

Zile logo

It comes with an example implementation of a lightweight Emacs clone, called Zemacs. Every Emacs user should feel at home with Zemacs. Zemacs is aimed at small footprint systems and quick editing sessions (it starts up and shuts down instantly).

More editors implemented over the Zile frameworks are forthcoming as the data-structures and interfaces improve: Zz an emacs inspired editor using Lua as an extension language; Zee a minimalist non-modal editor; Zi a lightweight vi clone; and more...

Zile is a collection of algorithms and data-structures that currently support all basic Emacs-like editing features: it is 8-bit clean (though Unicode support is not ready yet), and the number of editing buffers and windows is only limited by available memoryand screen space respectively. Registers, minibuffer completion and auto fill are available.

Zemacs implements a subset of Emacs with identical function and variable names, continuing the spirit of the earlier Zile editor implemented in C.


Stable source releases of Zile can be found on the main GNU download server (HTTPSHTTPFTP) and its mirrors; please use a mirror if possible.


Like Emacs, Zemacs is self-documenting: it has built-in help in its features. It also comes with a brief man page, obtained by running man zemacs, and a FAQ, which can be found by running zemacs and typing the key-sequence C-h C-F.


Zemacs' splash screen

Zemacs is a lightweight Emacs clone; even its splash screen is very Emacs-like:

Zemacs splash screen

Selecting a region in Zemacs

Zemacs highlights the selected region, shown here editing some of the zlisp source code that implements set-screen-height:

Screenshot: Zemacs select

Zz Syntax Highlighting Proof-of-Concept

Zz is another editor built using Zile, here using experimental Lua syntax-highlighting:

Screenshot: syntax highlighting

Mailing lists

Zile has two mailing lists:

  • <> for discussing most aspects of Zile, including development and enhancement requests, as well as bug reports.
  • <> for general user help and discussion.

Announcements about Zile and most other GNU software are made on <>.

To subscribe to these or any GNU mailing lists, please send an empty mail with a Subject: header of just “subscribe” to the relevant -request list. For example, to subscribe yourself to the GNU announcement list, you would send mail to <>. Or you can use the mailing list web interface.

Getting involved

Development of Zile, and GNU in general, is a volunteer effort, and you can contribute. For information, please read How to help GNU. If you'd like to get involved, it's a good idea to join the discussion mailing list (see above).


For development sources, bug and patch trackers, and other information, please see the Zile project page at


Zile is currently being maintained by Reuben Thomas. Please use the mailing lists for contact.


Zile is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.