Managing notes with Zim


© Alexey Shkitenkov,

© Alexey Shkitenkov,

Article from Issue 102/2009

The Zim information manager offers far more than digital notes by exploiting data networking options.

Zim is a handy desktop tool that combines wiki techniques with notes, a calendar, and to-do lists to create a versatile notepad on steroids. The tool supports a number of interesting integration options. For instance, you can directly paste images and easily link to external files. Zim builds a text file for each note and stores the notes in wikitext format. This means you can read your notes at the command line – a major benefit if you only have remote SSH-based access.


The package sources offered by popular distributions tend to offer users an obsolete version of Zim, if at all. Because of major improvements in the past few months, installing the current 0.27 version from the author's homepage makes more sense [1]. The source code package is up for grabs and you can use either a Perl script or make to build and install.

Before you can finally type make install, be prepared for blood, sweat, and tears. Several dependencies need manual attention, and Perl bindings and a couple of CPAN Perl modules must be installed. Ubuntu and Debian users will probably prefer the pain-free deb package, which is also available from the homepage. Alternatively, check out the Medibuntu repository [2], which has a current version of Zim that you can install easily via apt-get or Synaptic.

Feature Wonder

Although Zim uses wikitext internally, you do not need to master the art. Keyboard shortcuts or buttons are available for most important functions, and the program also supports automatic linking via CamelCase (also called WikiWords).

To define subordinate hierarchies for a term, simply insert a colon to de-mark the hierarchy level – for example, Sendmail:Installation and Sendmail:Configuration. Down below in the status bar, Zim shows you the backlink statistics for the entry. The pull-down menu lets you display the pages that link to the entry.

Of course, nobody is going to prevent you from using the program to create unlinked, isolated notes. To simplify things, the sidebar has an overview function that gives you quick access to individual notes that open in a separate tab when clicked. Zim automatically creates a new note when you define a link but will not store it permanently unless you add some content. When you add content, Zim creates a matching text file and creates a permanent entry for the note in the sidebar. The program automatically saves all your notes and any changes you make to them, thus taking this burden off the user.

Zim gives you everything you need to format text easily, including bold, italics, underline, strikeout, and various font sizes. Also, if you add an image reference to a note, Zim will display the image (Figure 1). File references are added as clickable filesystem links. Alternatively, you can attach files directly to notes; Zim uses a separate folder named after the note below its working directory to store the file. The program also supports checkboxes for to-do lists. With square brackets ([ ], [x], and [*]), you can check or cross out the boxes.

To navigate between notes, you can either use the sidebar, the back/forward buttons on the top left-hand side, or the tabs that let you click to open notes you used recently. Zim supports find and replace in a single note, but not across all notes, although it does have a cross-note search function. Also, you can undo your changes and display word/character counts.

Plugin Extensible

Zim includes a number of plugins. Two of them, the to-do list and the calendar, are enabled by default. The calendar gives you a hierarchical, date-oriented view and supports chronological sorting. Other useful helpers include a spell checker, a formula editor (which requires LaTeX), and a screenshot tool that you can enable if you need it.

The to-do list (Figure 2) collects all incidences of TODO: from all the notes then lists as a task the text that follows the tag. Appending any number of exclamation marks defines a priority for the task. Zim identifies dates in the same line and uses them in the to-do list. Open checkboxes can also appear in the to-do list.

Adding the word DONE in the to-do line or checking a box marks a task as completed; unfortunately, Zim does not have an alarm function to warn you of imminent tasks.

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:

084-085_zim.pdf  (258.52 kB)