top | item 23524336

Geany – A flyweight IDE

154 points| notRobot | 5 years ago |geany.org | reply

113 comments

order
[+] saagarjha|5 years ago|reply
I remember using Geany throughout high school for our Java/AP Computer Science classes, where it was the editor you were required to use. While I had it customized as much as the system would allow me, calling it an “IDE” is being a bit generous: my Sublime Text can do much, much more than Geany possibly could, and I’m not sure I would call even that an IDE. Geany is basically just a simple, slightly mediocre GUI text editor-which might be what you’re looking for in some cases-but do note that most people’s command-line text editor setups are generally more advanced than it. (If I could compare it to an editor, I’d say it’s just slightly more advanced than nano.)
[+] onli|5 years ago|reply
> Geany is basically just a simple, slightly mediocre GUI text editor-which might be what you’re looking for in some cases-but do note that most people’s command-line text editor setups are generally more advanced than it.

Not only that it can be used to compile programs directly, it's a bit more than just a basic editor. It has tabs, syntax highlighting, plugins, great line bookmarks, a function/symbol sidebar, autocomplete, multiline edit, color schemes, powerful search/replace and a sound way to wrap long lines.

Via plugins, it has a minimap, it can go directly to functions (ctrl + click on the function call), has a git integration (showing added/deleted lines not commited yet), highlight of the current variable, pretty print xml and much more stuff I do not use, like a workplace.

It's no nano (I use and like nano).

[+] pszndr|5 years ago|reply
It can write, build and debug code. It's an IDE.
[+] eitland|5 years ago|reply
Agree: For me and many others the difference between a good text editor with plugins (jEdit, notepad++) and an actual IDE happens to be refactoring:

can the thing differ between xyz in a comment, as the name of a class, as a field and as a local variable inside a method? I.e. if I write a class xyz with a field xyz and a method xyz() and that method contains the variable xyz used a number of times, will the thing be able to rename any single of those across the whole project without messing up?

If it can: it is probably an ide. If not: it is not an ide.

[+] omaranto|5 years ago|reply
> most people’s command-line text editor setups are generally more advanced than it

Is there any command-line text editor that people actually use to write in? My impression is that the only moderately popular ones are ed and sed and that people only use them to make specific edits to files they wrote the bulk of somewhere else.

[+] mixmastamyk|5 years ago|reply
> slightly more advanced than nano.

Sounds like you didn’t explore much, or try the plugins? It has an order of magnitude more functionality than nano.

[+] bityard|5 years ago|reply
A quick lesson about tone and documentation.

I'm always on the lookout for a good lightweight code editor to try out. I looked into Geany once and was excited to see that it had a Vim plugin. Unfortunately, reading the docs for it turned me away from it very quickly.

The first thing the author of the Vim plugin for Geany says in the FAQ is that plugin is written by a guy who doesn't use Vim. Which sounds a little strange but I kept reading. Later in the FAQ, he implies that the plugin sucks, Vim sucks, and that he only wrote it to quell the "constant whining of Vim users."

Needless to say, I will not be trying (let alone using) Geany as long as the prevailing attitude of the author of one of the plugins I _would_ use the most holds users in this level of sheer disdain.

[+] notRobot|5 years ago|reply
Sure, but that's no fault of the Geany devs, only of one plugin author. Seems unfair to judge an IDE based on the documentation for a volunteer-written plugin that you haven't even tried.

Edit: Also, while the dev admits that they don't use vim, they also say that they enjoy working on the plugin and repeatedly ask users to submit bug reports so that they can patch the plugin.

They're also really open to patches and contributions. IMO, this is a perfect example of the true FOSS spirit.

I think you're being unjustly harsh: https://plugins.geany.org/vimode.html#why-does-vimode-suck-s...

[+] stronglikedan|5 years ago|reply
> A quick lesson about tone and documentation.

Seems more of a lesson of missing the forest for the trees, because a couple of trees at the edge of the forest gave a dirty look.

[+] amelius|5 years ago|reply
> I looked into Geany once and was excited to see that it had a Vim plugin.

Why would anyone want an editor with a "Vim plugin"? Why not simply use Vim?

[+] morganvachon|5 years ago|reply
I use it as an advanced text editor on any Linux or BSD workstation I use. I'm not a developer so most of the IDE type stuff goes unused, but I do like having something as powerful as Notepad++ on Windows without resorting to cumbersome editors like Atom or VSCode.

An alternative for people like me is SciTE.

https://www.scintilla.org/SciTE.html

[+] JNRowe|5 years ago|reply
Perhaps you're aware, and I missed the nuance... but, geany uses the scintilla engine as its editor component¹. I was once a pretty heavy SciTE user, and it surprises me how often you can spot it in other tools when shoulder surfing or watching live demos.

1. https://github.com/geany/geany/tree/master/scintilla

[+] aspyct|5 years ago|reply
It's a matter of perspective I guess. Where I'm from, VSCode is considered lightweight. Cumbersome would describe NetBeans and Eclipse in my mind.
[+] zoom6628|5 years ago|reply
I’ve been using Geany for very long time as my go to casual editor for any type of text. I can install on all my platforms, all my OS, it’s fast and doesn’t gag on huge log files. Same experience in all platforms which is why it’s one of first installed tools. I’m not a prof dev but at home on macOS, pi, beagle, arduino, Win10 the sheer time saving of having something work same across platforms for projects I get to only when work, family, time allows makes it a winner.

When in full on coding mode I prefer vi, rest of the time use Geany. Have tried regularly most other IDEs and text editors and none as fast, reliable, easy to install and use as Geany.

It’s perfect for me. YMMV.

[+] bibinou|5 years ago|reply
The lib it’s based on is called Scintilla. It is a gem.
[+] zoomablemind|5 years ago|reply
Not sure how important it is to emphasize IDE part, but it is lightweight for sure.

It's a capable editor. GTK based, which means on Windows the UX is not native. Still, it can be installed stand alone, GTK is packaged in.

It's not wise that they omitted including most of the plugins on Windows, as it kills its main selling point. Noone is going to bother to build plugins while on Windows. I hope it was just a recent packaging glitch, as MacOS version comes with all plugins built along, which you can enable on demand.

It's a nice altenative for quick exploratory work on some unknown codebases, as Geany extracts/indexes tags and allows one to jump to function defs, vars and such. However you need to have the relevant files already opened, otherwise you need to resort to Find in files to locate where function/ symbol is defined. This may be tedious in heavily structured projects. That's where an actual IDE excells.

But it works! It's a nice tool to have in a portable toolbox... However, looking through its GitHub pages looks like the developers are tired.

By the way, on Windows a nice lightweight alternative is `notepad2-mod`, also Scintilla based, needs no installation, native UI (a little bit too verbose menus).

[+] mixmastamyk|5 years ago|reply
Ctrl+click is a shortcut to find defs although they need to be opened. Setting up a project with the file sidebar available makes it easier.
[+] rickspencer3|5 years ago|reply
I use Geany as a code editor on my rpi hobby projects. The editor has been around long enough that it is reasonably fast on under powered hardware. I really appreciate having the option.
[+] jennasys|5 years ago|reply
The RPi is the only place I still use it, but on that platform it works great. For Python programming on the RPi, Thonny is actually a bit better though.
[+] timw4mail|5 years ago|reply
Geany is probably the lightest IDE that works well with Rust. If you just basically want an editor with shortcuts to run terminal commands, it's a great solution.
[+] tomrod|5 years ago|reply
I didn't realize it would integrate with Rust

Back to geany!

[+] trefil|5 years ago|reply
I wish I could use Geany, but I find the tree view plugin substantially lacking and buggy. For example, there is no way to just open a directory in Geany (the same way as in VS Code and Sublime Text) without creating a project file.
[+] app4soft|5 years ago|reply
> I find the tree view plugin substantially lacking and buggy

Could you report issues to Geany devs?

[+] maeln|5 years ago|reply
I remember Geany, it was the first "IDE" I ever used :) . I really like that the "build system" was pretty much just scripts that you could do yourself, it made it pretty much usable for any workflow easily. Granted, you could not customize it and integrate everything as much as VS Code, Atom and the likes, but it is doing its job and run extremely good on very old computer.
[+] interfixus|5 years ago|reply
My editor and IDE of choice for the last 15 years or so.

I keep rushing out and trying newfangled wonderware for the alleged features it will offer me and without which I cannot be supposed to live. And I keep, regular as clockwork, coming back to sane and solid Geany with its speed, straightforwardness, sanity, discoverability, and allround just-so convenience.

[+] dingdingdang|5 years ago|reply
Agree, for the last couple of years Geany has been my primary dev environment on Linux after migrating off Windows and Notepad++, and I'm super productive on it, very stable and fast.
[+] kiney|5 years ago|reply
Geany is my favourite editor for many years. Blazingly fast and resource friendly. Has most features I need but not bloated... Only thing I'm missing is support for some newer languages (hcl/terraform comes do mind).
[+] dragonsh|5 years ago|reply
I have used it as IDE on Linux for Python development along with vi before moving to emacs.

It was my choice as it was small lightweight and could open large csv and xml.

After that did not follow it, good to see it’s been constantly updated and developed.

[+] pamparosendo|5 years ago|reply
I've been using Geany since I moved to Linux, is the fastest loading editor I've found. Great editor!
[+] mixmastamyk|5 years ago|reply
Love geany, it does everything I want and nothing I don’t, fast. FLOSS, low system requirements, and respects your privacy. Has project, terminal, and vcs support, rectangular selections as well.

Lots of functionality is in plugins, such as highlight word and close brackets/quotes, xml formatters I need for work, etc.

I often pair it with micro for consistent key bindings in the terminal if not geany itself over sshfs.

[+] victorbstan|5 years ago|reply
So we have: Vim, Emacs, BBEdit, textmate, notepad++, SublimeText, Atom, Visual Code, Geany... am I missing any?
[+] dTal|5 years ago|reply
Kate. Wikipedia calls it a "basic text editor for the KDE desktop" but it really isn't - as well the usual suspects, it has well-conceived ergonomic features like a minimap, rainbow parens, and smart indentation for a variety of contexts (including Lisp/Scheme!). A real coder's editor.

Fond memories of Geany, though, and probably my first choice if I were on some super-constrained low-ram GTK environment, instead of my cushy Plasma desktop.

[+] hoistbypetard|5 years ago|reply
joe, pico, nano, elvis, jedit, acme, gedit, kedit... and those are just the ones that popped into my head within a few seconds. There are legions more.
[+] Narishma|5 years ago|reply
You're missing dozens more, if not hundreds.
[+] adrianN|5 years ago|reply
ed is the standard editor.
[+] nightowl_games|5 years ago|reply
What are ya'lls thoughts on jucipp vs kdevelop vs vscode vs sublime text for c++ development?

I've been using VSCode (& Codium on my linux machine) for c++ dev. I have the debugger and build tasks all set up and feel happy about that. Wouldn't mind having something a bit more reliable. I get this weird bug in VSCode where CTRL+P doesnt index all the files in the project. I have to manually navigate to the file, open it, and then CTRL+P can find it. I usually end up working with both Sublime Text and VS Code open. Sublime for code reading, VS Code for code writing.

I still feel like Sublime just dropped the ball with poor plugin support and thats what gave VS Code its edge...

[+] ridiculous_fish|5 years ago|reply
C++ is hard to do well from a plugin because of its complexity. For example, jump-to-definition requires resolving complex overloading rules. I have had better luck with IDEs that treat C++ as first class: CLion, VC++, Xcode.
[+] pachico|5 years ago|reply
One of the first thing I install every time I install a OS. I've been using it as default light notepad since I saw the light, I think. Split screen plugin is probably my favourite.