CherryTree is an open source cross platform notes organizer with numerous features. Crucially it stores notes in xml (or sqlite) files and has numerous export and import options.
CherryTree is two pane and hierarchical. Nodes and subnodes are used to organize notes. A wide range of formatting options make it possible to change the look of everything stored and kept. If it is used for programming code many syntax highlighting options are present with the option to have the notes in a “codebox” as shown in the screen shot above (Edit—>Insert codebox or Ctrl+Alt+C). Everything from C++ to php, LaTex and sql is present. Images can be inserted anywhere and like text can be justified or moved to the right or elsewhere in a node, the same can be said for tables, ordered and unordered lists and check boxes to create to do lists. Text and images can be linked to internal or external locations and even to another node.
Copy/pasting from many applications into CherryTree works and depending on the source images can be pasted directly inside a node as well. Copying and then pasting a number of files from an explorer windows creates nodes for each file.
The find in CherryTree is not as you type but there are separate (Ctrl+F or Shift+Ctrl+F) hot keys for searching in the current or all nodes. Nodes can be bookmarked for easier and quicker access. The import options are for importing from plain text, html, EssentialPIM, BasKet Note Pads, KeepNote, KeyNote, Tomboy, Zim, Treepad, Gnote and others. The export options are to pdf, html and plain text. These options also exist for individual nodes. There are options to sort nodes via the menu or keyboard (Tree menu).
Nodes can be made to Read Only. The program preferences (Edit –> Preferences) cover the default font and colours, the program theme such as changing the background colour to another, the icons to use in the tree pane and the number of backups to keep.
Official downloads for all Windows versions are available in exe and portable versions and these are complimented with deb files and a PPA to add to the software sources lists to keep up with CherryTree releases when using the Linux version. CherryTree is currently at v0.34.1 but it has long been a stable option for note keeping.