CherryTree: Best Ubuntu Note-Taking App for Programmers

July 20, 2013

CherryTree is a hierarchical note taking application, featuring rich text and syntax highlighting, storing data in a single xml or sqlite file.

CherryTree is perfectly suitable not only for taking notes, but also for managing code snippets. The application supports syntax highlighting for many popular programming languages, so you can use the application as a programmer’s scratchpad. You can also insert code snippets directly into notes using so-called code boxes.

cherrytree-main_window_code

Features:

  • rich text (foreground color, background color, bold, italic, underline, strikethrough, small, h1, h2, h3, subscript, superscript, monospace)
  • syntax highlighting (only when the rich text is disabled in the current node)
  • images handling: insertion in the text, edit (resize/rotate), save as png file
  • lists handling (bulleted, numbered, to-do and switch between them, multiline with shift+enter)
  • simple tables handling (cells with plain text), cut/copy/paste row, import/export as csv file
  • codeboxes handling: boxes of automatically highlighted text into normal rich text
  • alignment of text, images, tables and codeboxes (left/center/right)
  • hyperlinks (links to webpages, links to nodes/nodes + anchors, links to files, links to folders)
  • intra application copy/paste: supported single images, single codeboxes, single tables and a compound selection of rich text, images, codeboxes and tables
  • cross application copy/paste (tested with openoffice and gmail): supported single images, single codeboxes, single tables and a compound selection of rich text, images, codeboxes and tables
  • copying a list of files from the file manager and pasting in cherrytree will create a list of links to files, images are recognized and inserted in the text
  • print & save as pdf file of a selection / node / node and subnodes / the whole tree
  • export to html of a selection / node / node and subnodes / the whole tree
  • export to plain text of a selection / node / node and subnodes / the whole tree
  • toc generation for a node / node and subnodes / the whole tree, based on headers h1, h2 and h3
  • find a node, find in current node, find in all nodes
  • replace in node names, replace in current node, replace in all nodes
  • iteration of the latest find, iteration of the latest replace, iteration of the latest applied text formatting
  • import from basket, cherrytree, gnote, keepnote, knowit, mempad, notecase, tomboy, treepad lite, tuxcards, zim
  • export to cherrytree file of a selection / node / node and subnodes / the whole tree
  • password protection (using http://www.7-zip.org/)
  • tree nodes drag and drop

Install CherryTree on Ubuntu:

CherryTree is available in Ubuntu’s universe repository since Ubuntu 12.04 Precise. Search for and install it from Ubuntu Software Center.

For the latest version, press Ctrl+Alt+T to open terminal and run below commands:

sudo add-apt-repository ppa:vincent-c/cherrytree

sudo apt-get update; sudo apt-get install cherrytree

I'm a freelance blogger who started using Ubuntu 5+ years ago and wishes to share my experiences and some useful tips with Ubuntu beginners and lovers. Please notify me if you find any typo/grammar/language mistakes. English is not my native language. Contact me on Google Plus or email to ubuntuhandbook1@gmail.com

2 responses to CherryTree: Best Ubuntu Note-Taking App for Programmers

  1. This is a great program! I have been (trying) to use Keepnote but it’s s-o s-l-o-w. And when there was a new update I can’t update one of my most important notebooks and I can’t get any help w/it. But CherryTree imported it, and all my other Keepnote notebooks, w/o any problem. And it’s FAST! I’m just hoping the feature to open more than one notebooks at a time doesn’t take too long.

  2. Cherrytree is good, but it lacks some of the simplest of features. You cannot toggle things like bold, rather, you have to type the word and select it first. That is really annoying. Zim is better for most practical note taking.