Zim, the cross-platform desktop wiki

Daily Diary

Article from Issue 198/2017

Organize your ideas, notes, and shopping lists with Zim, a handy tool that enshrines the principle of the wiki on your Linux, Mac OS, or Windows desktop.

The word wiki [1] comes from Hawaiian and means "fast." The term refers to a system in which HTML documents on the Internet are both read and edited using a web browser. The most prominent example of a wiki is the Wikipedia online encyclopedia.

Other wikis inhabit both large and small projects within the open source universe. Many wikis are used for documentation purposes. Debian, Ubuntu, and Arch Linux are known for their comprehensive wikis. A wiki's main task is to organize content in a structured way. Many of the popular wiki tools are designed for collaboration over the network, but the wiki concept also provides benefits for a single user working at a single desktop. Zim is a handy desktop wiki that is useful for brainstorming and knowledge gathering, as well as building task lists and organizing documents and books.


Zim [2] transfers the principle of a wiki to the desktop. To operate Zim, you do not need a web server or a database (Figure 1). The Zim desktop wiki is available for Linux, Mac OS X, and Windows; it uses the same data format across all platforms. If you are looking for something to compare to Zim, a tool from the Windows world that also runs on Linux, such as WikidPad [3], is conceptually similar, but Zim goes well beyond WikidPad's capabilities.

Figure 1: A first glance reveals little about the many capabilities of the Zim desktop wiki.

Zim is based on the GTK framework and resides in the repositories of most Linux distributions.

Markup and Versioning

Every page created in Zim is stored on disk as a text file with a wiki markup. The program organizes these files into notebooks, which can best be compared with the database of traditional wikis.

To create a new page, first create a link to the initially non-existent page. You can then add references to other sites to the text of the page. Zim also supports plugins, including one for versioning, which stores the editing history for a document in the form of the version control systems (VCSs) Git, Bazaar, or Mercurial (Figure 2).

Figure 2: The built-in Zim version control system is enabled in the File menu.

You need to install the VCS locally on the computer. As soon as you enable the plugin via the settings, you can store the current version of a document using the File | Save version menu.

Although Zim is intended for local use and focused on the single user, the versioning feature does provide an option for collaboration. The VCS structure is also shown in file managers that display version controlled documents separately, such as Dolphin or Files, the file manager formerly known as Nautilus (Figure 3).

Figure 3: The view in Dolphin, using Git to show version control in the notebooks.

Extensible Through Plugins

You can extend the Zim desktop wiki using around 30 preinstalled plugins. On top of this list, you will find numerous plugins by external developers on GitHub [4]. These plugins include support for formulas, charts, and music notation, plus a source code view and a spell checker. Zim can "print" to an HTML file and has a table editor, keyword management tool, and calculator (Figure 4).

Figure 4: You can extend Zim using numerous internal and external plugins.

You can format text in various ways and supplement it with pictures, lists, enumerations, and annexes. In the Tools | Custom tools menu, Zim gives users the opportunity to create their own extensions. In addition, you can launch your own web server in the Tools menu and thus view your Zim wiki in the browser.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

comments powered by Disqus

Direct Download

Read full article as PDF:

Price $2.95