This is a read-only archive. Find the latest Linux articles, documentation, and answers at the new!

Feature: Reviews

An offline wiki for your desktop

By Mayank Sharma on August 13, 2007 (9:00:00 AM)

Share    Print    Comments   

Zim looks, feels, and almost works like a common text editor, but it mixes editing features like spell checking with the page cataloging features of wikis.

Zim is written in Perl and uses the GNOME GTK+ libraries for its graphical user interface, so you need those packages installed on your computer before you can install Zim. Zim also requires some Perl modules, but those it'll fetch on its own. Grab and untar the latest version of Zim, and issue the ./configure, make, and make install commands to compile and install it.

If you don't have superuser privileges on your computer to install Zim, you can run it without installing it. To do this, after untarring the Zim source tarball, change into its bin directory and execute the zim file there with ./zim.

Zim arranges files into repositories, which are just normal folders that store related files. You can have multiple repositories, or store all files under one repository. When you open Zim, it will prompt you to select a repository; you can also create a new repository from this dialog box, as you'll have to do when you first launch Zim.

Zim as a text editor

Zim's interface isn't very different from that of a regular text editor. It's got a side pane to browse articles in a tree view and links to jump from one article to another. While typing, you can use the Format menu to decorate text. You can also use Zim's format key bindings, which are inspired by those of DocuWiki, to format text as bold, italics, underline, or verbatim. Zim automatically saves documents as you type.

Using Zim's autoformat feature you can also define a simple bullet list, and one of five heading styles it supports. If you need to insert special characters in your documents, such as greater than, less than, quotation marks, or the copyright symbol, Zim provides key bindings to insert them into documents.

If you have the gtkspell package installed, Zim can spell check your documents. It can also count words in documents and search them. Zim can delete or rename the documents it creates. It's also got a calendar, and can insert date and time in various formats on to the pages you create. Zim can include images in documents from the menu, or by enclosing the path to an image in double braces, which Zim will interpret and include the image automatically. Once an image is in place you can use external programs to view and manipulate it, or you can edit the width and height of an image from within Zim.

Linking documents

Linking documents is Zim's specialty. To wrap text in HTML, simply select the text and go to Edit -> Edit link to open a dialog box where you can specify the link location. You can link to files on your computer or to URLs on the Web. Zim can link to files by their path names, or you can just drop external documents into the one you're working on. If you want to link to files in the repository you are working in, go to Tools -> Open folder and simply drag and drop the files you want to link into the Zim document.

If you create a link to a page that doesn't exist, Zim will automatically create that page based on the link information. This is useful when you're creating a multipage document with a table of contents (TOC). Just start creating the TOC page, and as soon as you enter a chapter name, select it and press Ctrl-E. Zim will automatically create a new page with the chapter name. Similarly, Zim by default take text entered in CamelCase and creates a new document of that name. For example, if you type NewDiet while typing and then come back and click on that text, Zim takes you to a new document titled NewDiet. This saves you the effort to go the File -> New Document route. This feature can be annoying, so you can turn it off using Zim's preferences settings.

If you are linking to other documents created with Zim, you can use a colon character in the link to separate namespaces. Links that start with a colon, such as :Home and :ToDo, point to files of the same name within the root namespace, which means they are created within the repository. If a link starts with a dot (.), it is created beneath the current namespace. Zim will create a directory under the repository and file the document under it. Those documents show up in Zim's tree view.

Zim also handles URLs well. It recognizes URLs as you type them and automatically links them to where they are pointing. Zim also has a list of predefined URLs to more than 100 resources, including Wikipedia, Google, CPAN, Advogato, and You can use them as shortcuts. For example, typing the string phpfn?print in your document or in the Edit link dialog box will automatically create a link to the print function in PHP's online documentation, while wp?LiveCD will become a link to the live CD page on Wikipedia. If you want to add your own list of URLs, you can put them in a file named urls.list under your home directory.

In addition to handling links to other locations, Zim also keeps track of backward links -- that is, which documents point to a particular document. How can this help you? Say you are working on multiple documents, some of which have a ToDo section in them, and that the ToDo section heads in all incomplete documents points to an empty ToDo page. When you open this ToDo page, Zim will print the number of backlinks to this document in the status bar. As soon as you click on the area that lists backlinks in the status bar, Zim will show you all the pages that link to this ToDo page. You can visit all documents that have a ToDo section by clicking on their links.

Zim's ability to link documents, both offline and online, is useful, especially when you're working with multiple documents. In fact, Zim's help document is written using Zim itself, and makes full use of its capabilities to link to pages that explain particular features in detail.

Zim isn't really a text editor; it's actually an offline wiki that has advanced text editing features. But whatever you call it, Zim can help you become more productive.

Share    Print    Comments   


on An offline wiki for your desktop

Note: Comments are owned by the poster. We are not responsible for their content.

Nothing new under the sun

Posted by: Anonymous [ip:] on August 13, 2007 11:41 AM
As usual, Emacs has had this for ages. See Emacs Wiki mode ( and its successor Emacs Muse (


Re: Nothing new under the sun

Posted by: Anonymous [ip:] on August 14, 2007 12:13 AM
Some people don't use Emacs my friend.
I do though, so thanks for mentioning Emacs Wiki :D


Another handy offline wiki

Posted by: Anonymous [ip:] on August 13, 2007 08:56 PM
Tiddlywiki ( does most of what Zim can do, plus it's cross-platform and far easier to set up (just download empty.html and open it in your Web browser).


Re: Another handy offline wiki

Posted by: Anonymous [ip:] on August 16, 2007 10:39 AM
Wow, thanks for this pointer. This looks like a very very versatile tool. I have started using the GTD version of TiddlyWiki ( and have fallen in love with it right away. Thanks again!


it looks like a jotter

Posted by: Anonymous [ip:] on August 14, 2007 03:45 PM
While a jotter may be much more simplified it have some cool features like encryption. The file format is readable as is and export to HTML is possible.


An offline wiki for your desktop

Posted by: Anonymous [ip:] on September 07, 2007 08:53 AM
great! it is good for mobile computer and offline. My line of work is travel, I had difficulty sometimes in searching 'cause my laptop is offline. Thanks to this offline wiki!
Romeo from <a href=""> Costa Blanca </a>


Luminotes personal wiki

Posted by: Anonymous [ip:] on January 19, 2008 12:40 AM
In addition to TiddlyWiki, you should also check out Luminotes at

It's a web-based personal wiki with a focus on visual editing.


This story has been archived. Comments can no longer be posted.

Tableless layout Validate XHTML 1.0 Strict Validate CSS Powered by Xaraya