Geany text editor - a sort of genie

Updated: July 7, 2019

Provided Geany is spelling with a soft g, then the first thing that comes to my mind is Arnie in the sublime role of John Matrix in the ultra-legendary movie Commando shouting Jenny (more like Chenney) in the opening scene. The second thing that comes to mind is, good text editors are hard to find.

I've been hunting for THE Linux text editor for a long time, and somehow, inevitably, slowly but surely, I always end up using Notepad++ through WINE. The combination of a simple, clear interface, a logical flow, and tons of great plugins make it impossible to beat. I've played with lots of text editors, I also frequently use Kate in Plasma, and yet, Notepad++ remains the optimal choice for me. But then, one of me readers mentioned Geany, a GTK+ text editor, which is supposed to be using the SCIntilla text engine, same as Notepad++. Well then. It's testing time!

Teaser

Setup

I grabbeth Geany from the repos on me Kubuntu. But, if you only install Geany, you will miss on all them fine plugins that the program has, so make sure you install the lot of them - and there are quite a few. You can also try install only the plugins meta-package, to see if that gives you all the goodies.

...
geany-plugin-tableconvert - table convert plugin for Geany
geany-plugin-treebrowser - tree browser plugin for Geany
geany-plugin-updatechecker - update checker plugin for Geany
geany-plugin-vc - VCS plugin for Geany
geany-plugin-xmlsnippets - XMLSnippets plugin for Geany
geany-plugins - set of plugins for Geany
...

Overview

Looks neat. You'd expect a GTK+ program to be over-simplified, but Geany is quite the opposite. I comes with a rich, elegantly designed UI that does not feel crammed, and yet it packs a wealth of options and features. You get the usual stuff like syntax highlighting, auto-completion, bulk actions, advanced find & replace, tabs, embedded terminal, and the list goes on.

Main

Find functionality

Find in files functionality

Document options

But then, there's more. You can record actions, use scripting, create templates for a dozen different projects, and also insert pre-made text sections int your files, like BSD and GPL licenses, Lipsum dummy text, and then some. You can also look up symbols in your files, which is useful if you're developing. Then again, very few ordinary people have a real need for a text editor, so to speak.

Templates

Template created

Insert text templates

Symbols

Contextual actions & compilation

What I really liked is that Geany acts like a proper IDE and lets you compile code directly, even make kernel modules if you like, which I tested using an example from my Linux kernel crash analysis page. This worked fine, with the necessary build tools in place, of course, and you have a log that shows you exactly how things work, plus you even get helpful pointers, which let you fix common errors (including even the use of whitespace characters in Makefile, for instance).

Build, options

Compilation

The available functionality depends on the selected code, so you won't see the same kind of thing if you have a regular text file, Python code or C code. Very handy, and you do need to explore to discover all the hidden gems lying about.

Build options, contextual

Plugins

Any good, self-respecting text editor comes with a boatload of plugins. Geany is no exception. But you do need to configure the program to load them on startup. Now, I didn't notice equivalent functionality to Notepad++ plugin manager, which lets you install tons of extras. I also couldn't find a plugin for HTML/XML text tidying.

But you do get LaTeX support, for instance, you can use encryption and different version control systems, and the list goes on. The plugins preferences window will only list the plugins that are loaded on startup, so this reduces clutter. In a way, this is a very browser-like behavior, which, in essence, it should be.

Plugins, configure

Plugins, LaTeX

Plugins settings

Tools and customization

Geany allows you to change your plugins behavior by editing a series of configuration files - quite similar to how Notepad++ behaves. This is advanced stuff, but it gives you a lot of flexibility in making the program do exactly what you need.

Configuration

The Preferences menu is very similar to Notepad++, and that means very detailed. You can really make lots of changes, including the use of sessions, but unlike its Windows counterpart, I noticed that Geany does not re-open unsaved files (like new*), whereas Notepad++ does that. So if you accidentally close Notepad++, you don't really lose anything. Maybe this option exists, but I wasn't able to find it. I also couldn't locate an option for a multi-line tab bar.

Preferences

Preferences, Editor

Conclusion

I have to say I'm very pleased with Geany, and I'm sort of surprised - with myself - that I never gave it a more thorough examination in the past. But we shall rectify that, as I do intend, as a consequence of this little test, to try using Geany in a more serious manner, in my production environment. At the moment, on my Slimbook, I am using Notepad++, so maybe this could be a solid alternative.

Geany is a really interesting product - rich, extensible, robust, intelligent. It also looks the part, with a spacious, airy, friendly UI, and none of that modern flatness that ruins usability. You get a wealth of options and features, and while I do feel some small things are missing, I don't think there's any massive, glaring weakness in this text editor. Quite worth testing. Lastly, many thanks for those of you who recommended this program. May the code lint be with you.

Cheers.

You may also like: