Hacker News new | comments | ask | show | jobs | submit login
Geany – Lightweight IDE for Linux and Windows (geany.org)
259 points by ausjke 10 months ago | hide | past | web | favorite | 92 comments

I love seeing this here. I use Geany for lots of normal writing and journaling in addition to coding projects. I have added a bunch of little tab-to-activate snippets like inserting the date, time, and weather, inserting a random writing prompt, inserting my global to-do list, etc.

I was just going through the prefs today and found the "invert color scheme" option. I inverted Solarized Light and got a beautiful dark scheme I'd never seen before as a result. Not Solarized Dark as I somehow expected :-)

https://github.com/codebrainz/geany-themes lots to choose from and they're decent

I like Geany very much, however the much better syntax highlighting of "modern but bloated" young-people-ides ("ypis") have spoiled me.

Does anyone know of some syntax magic addon that teaches geany state-of-the-art syntax modes, especially with mixed syntax files containing HTML, PHP, JavaScript, Vue.js template sections?

Sublime is an excellent example of great syntax highlighting, but needs special tuning for simple operations like "copy line" - not really a show stopper, but it is surprising to see how basic functionality does not come by default with many editors still even after a very long development time - try to toggle a comment in vim with one simple key combination...

>try to toggle a comment in vim with one simple key combination...

Do you mean to say it's hard to do in vim, sublime, both or something else? In most editors I've used (except vim), it's CMD+/ (or CTRL+/).

I probably didn't get what you mean, just wanted to make sure :)

There is commentary for vim

Have been using vscode for almost one year and love it though sometimes it is a bit sluggish and heavy, also a long time vim user and that's what I use for CLI editing.Still I miss Geany and keep coming back to it, it does not have the most modern UI but it is so light-weight and does 95% editing for me all the time.

It is packaged for Linux, and you can install the newest release with their plugins, if you have never tried it, give it a shot.

I came to VSCode from Visual Studio with R#, which undoubtedly affects the way I perceive VSCode, but for me it absolutely flies, even when editing 200MB text files (not that I do that often, just saying)!

I love VSCode, but only have that feeling "it flies" with Sublime Text.

Would you mind please sharing your specs?

Yeah, it is a monster: an HPZBook 15 G3 with a 2.9GHz Xeon E3-1545M CPU and 64GB RAM.

But even on that, Visual Studio is annoyingly slow.

I also have a 2017 13" Macbook Pro don't know the exact specs off-hand; I don't use it often), and VSCode is really fast on that too.

It has as modern a UI as your GTK theme has, so if you have Breeze-gtk it's not terrible.

I'm not sure what the starting comment meant, but there is more to UI than GTK theme, or any theme in general.

That being said, those who haven't tried Geany should most definitely give it a spin.

I read it as: the UI is as modern most other applications on your desktop (it uses whatever theme they do)

I feel really nostalgic about Geany. That was my favorite editor back in the time, before I switched to Vim almost 10 years ago. It was pretty solid already. Good to see it's doing well after all these new/modern editors started to pop up.

I also went from Geany to Vim.

I found Geany really useful when I'd just started programming, as it has some useful features, like file browser, symbol list and terminal window, while not being as overwhelming as Eclipse with its project management and autogenerated code, "marketplace" and whatnot.

Very similar story here: About 10 years ago I used it for a few years, eventually I switched (with a new project) to Kdevelop, next to Eclipse (because of Java) and finally to Vim.

But after all that time I still remember Geany very positively as a decent Editor/IDE, not too fancy but as a tool to get the job done. Nice to the see the project still alive.

If you're a fan of Geany I highly recommend seeing how far you can push Gedit [1] with plugins. You can turn this little editor into a nice lean Web Development IDE as shown here [2]. What's nice is it's integrated with the Gnome GVFS so you access remote file systems at the system level instead of thru the editor's implementation. It also has an osx install option through brew however I can't imagine the osx version would be as integrated as a native Gnome on Linux install.

[1] https://wiki.gnome.org/Apps/Gedit

[2] https://www.maketecheasier.com/transform-gedit-into-a-web-de...

In fact Geany has its own plugins (git, code navigation, ctags, terminal, auto-close, project, to just name a few) it does 95% things I ever needed.

Also, it has multiple themes for you to choose too.


Try it, it's truly great, especially for someone liked me tried things differently and always going back, so light and fast whenever I needed, I feel it's faster than gedit and gvim, and a lot faster (e.g. to open for editing when you need an editor handy&quick) comparing to vscode.

The same can be said about nearly any decent text editor: vim, emacs, notepad++, sublime, etc. The Xi editor drives this down to a logical extreme; the Acme editor sort of pioneered this approach, though in a strange way.

For shoebot, we have a plugin to turn it into something like processing.

It's been a complete pain to keep maintained, as Gtk changed the way it handled menus through the years (breaking our plugin).

Next up is Gtk 4. I guess it isn't so bad, since shoebot is out of date being python 2 and all, so I'll probably implement something new.

TLDR - I would really appreciate an editor agnostic way of writing these kind of plugins, with options to add menu items, do things on keybindings etc.

Geany is a really nice editor, similar to Sublime Text in terms of use case (not a full IDE like e.g. Intellij), but open source. I highly recommend it and use it almost daily :)

I still use Geany for Ruby development, and I have used it for Perl, Java and even C++. The worst part of my first (and so far only) CS class wasn't that it was in C++, but (for me and pretty much all in the class) grokking what Microsoft Visual Studio (and huge IDEs in general) were all about, and how to use them. It was a huge, unnecessary hurdle.

All you really need in a CS class is to be able to write your code, compile and run it, and Geany does that very well for many languages. I've never been able to do that with JavaScript/Node -- that's one language that I haven't gotten working (as far as running it from within the editor).

One thing that didn't work so well for me was indentation/code formatting. When you first write it in Geany, it looks good, but once you star messing with the code, the indents can go haywire, and as far as I know there is no way to automatically re-format the code. That's where a "real" IDE comes in, I guess.

Have never had problems with indentation with geany in the last ten years. Perhpas turning on view whitespace for a moment to see what is going on?

I still use Geany every day! From writing up todo-lists at work, to maintaining my Go, Python and C/C++ projects.

Geany is my absolute go-to editor of choice. Fast, stable and really clean interface. Absolutely love it!!!

I was a SciTE diehard but Geany is just better designed. It understands Rust right out of the box (and well enough to mostly satisfy my needs - 'jump to symbol' being about 80% correct). Does a nice dark theme as well. Yes, IDEA Rust plugin is more capable, but mostly there's a joy to be left alone with the code without all the complexity of an IDE. May not be considered cool technology but I found little benefit to learning the arcane key sequences of editors created in the 1980s.

The text editors you are probably thinking about are from mid 70's.

Even further back, arguably ed is the progenitor of vi and dates to 1969. Ed and ex were where vi got its terseness from. It was designed for a teletype or very slow modems, not an interactive terminal, which is why it was so terse. Emacs' lineage goes back even farther to TECO from 1962; Stallman originally implemented Emacs as a set of macros for TECO, which was highly programmable. The original usage envisioned for TECO was that you would examine a text printout, then devise a TECO program to transform the text to the new version, working essentially offline since time actually using the machine was scarce.

I think it's super interesting to look at the ancestry of these tools and how their progeny seem foreign to many people. I'm an avid vim user because it makes sense to me, but for many it's weird and alien.

I noticed that once using a 300 baud modem. The older whack tools were about minimizing the amount data that needed to be transmitted to the terminal. And I think as well trying to implement an editor that requires tiny amounts of memory.

The effects of that old technology are with us still, C/C++ are one pass languages. So you only had read the program from tape or punch cards once.

The interface reminds me a lot of Dev-C++ [0]

[0]: http://bloodshed.net/

Man, Dev-C++ was amazing! A breath of fresh air in a world of super shitty user interfaces for coding. It's awesome to see the site still up!

I had an instant liking for Geany (which came preinstalled on a distro I was using... Crunchbang I think), and I think now I understand why!

My workflow has moved to tmux+vim which gives you a similar visual layout as Geany, but I'm glad to have had the opportunity to play with an editor which was as easy to play around with as Geany!

This may be the first time I've ever seen praise for Dev-C++... The only reason I ever used it was because it was free, in a world where Visual C++ was insanely expensive, and trying to get libraries and compiler toolchains setup involved some bloodshed.

When I was first learning C in engineering school, the profs were writing their lab instructions for the free copy of Visual Studio that we got. This still caused a headache among a number of students, so once myself and another student found Dev-C++, it was a watershed moment for the majority of the class that was up to this point (myself included) rather noobish, and Windows-only.

This is the IDE that I learned how to program with. So many fond memories. I like how the site is still up!

Yep, just had a huge nostalgia trip. I remember learning how to make GameMaker libraries using Pascal, C++ and Bloodshed's IDEs!

It's my replacement for Notepad++ after I moved from Windows to Linux as my daily driver. The balance of features, responsiveness, and simplicity work well for me.

... not only for Linux and Windows.

Geany is known to run under: Linux FreeBSD (and HardenedBSD / GhostBSD) NetBSD OpenBSD MacOS X AIX Oracle Solaris Illumos (OpenIndiana) Windows

Indeed, it's my go-to GUI text editor on every platform I use (apart from Haiku OS, though it isn't a daily use OS yet).

Fan of Geany using it from time when I switched to Ubuntu for last 5-6 years both personal as well as work computers. Its very lightweight. Good to see Geany here

Smart, fast, flexible, unbloated, and with very decent handling of the languages it knows about. Geany's one weak point is the languages it doesn't know. The process of creating a new language definition is confusing, unclear, and finicky, very much a question of trial and a lot of error.

If not for that limitation, I probably wouldn't use anything else for my editing needs.

it seems knowing _lot_ of languages, which one does it not know? just curious?

also you can customize templates for "New" languages easily I think

Sass/scss for a start. Pug (formerly Jade). Crystal. To name three I actually use, I which I haven't got to work properly in Geany, despite any amount of tinkering.

If anyone's interested I've got a geany-lua script repo here https://github.com/DGivney/geany-lua-scripts

Great, thanks, I'll take a look at some of these on Monday. I've only got a few super simple scripts of my own but I use them all the time. A hugely valuable feature and lua is nice and simple to pick up.

For a (better, IMO) light editor based on scintilla, try textadept. Full of awesome. As hackable as vim and emacs, but in lua. Sane defaults. Also terminal version.

I love Geany for any general text editing task as it's lightweight and fast. I just wish its code completion was a bit more intelligent (then I could probably ditch my current heavyweight IDE for good)

> "I just wish it's code completion was a bit more intelligent "

I wonder if there are any plans for Geany to support the Language Server Protocol. That way it'd be possible to get intelligent code completion for many languages without bloating the Geany codebase.



what’s your heavyweight?

Eclipse, Netbeans or Atom. I cycle between those three depending on which one is least annoying for the language I'm programming in at the time.

Have you tried IDEA?

I haven't. Do you recommend?

I like it a lot better than Eclipse, so yes, I think you should try it.

All Jetbrains' IDEs are recommended

It has most features you would expect from an editor, I'm currently toying with the color scheme to see if you can highlight as many things as I can with sublime text...

It would be great if it could, although it surely has well progressed over the years.

I just noticed CSS is not highlighted inside a HTML file.

Sublime text has so many nice features that I got used to, it is going to be hard to use something else.

My favorite plugin is "Save Actions" which will save a copy of the file you're working on every minute with a different filename. It sounds silly until you realize that you just blew away the last two hours of work with some "I'm sure this is right" version control action.

And text is so small that I go clean out 500 MB of stuff every year or so.

To be fair the local history function in Jetbains IDEs do that better / more elegantly and can also restore deleted files or even entire folders.

I use this for Django/Python development and it suits my work style very well. It does the 20% of a full blown IDE's functions that provide 80% of the value.

Apparently it is based on the long line of editors starting with scite, notepad++ and a bunch more.

> It does the 20% of a full blown IDE's functions that provide 80% of the value.

Does it support code refactoring (renaming variables, classes, moving classes or methods, ...)?

No, but if you think that is part of the 80% of the value you might want to rethink how you structure your code before writing it :-P.

You kid, but seriously: Of course you will have to restructure your code as the product evolves. Good refactoring support is not crucial for this, but makes your life easier, and I found that by making my life easier, it lowers the mental threshold for taking the plunge and restructuring that bit that does not quite fit anymore.

Refactoring support is part of the 80% an IDE gives me over a good code editor. I would consider code navigation, autocompletion and integrated debugging to be the other crucial features of an IDE.

What do you usually do to have to refactor that much?

All the time. I don't really understand how you don't. Requirements change constantly, and the software's structure has to change with them, or become a big ball of tangly interdependencies.

Refactoring is not a big deal. If you keep your code clean, each individual refactoring is really quick - moving a method, renaming a trait to better fit its new role, ... If you can do these kind of things with a minimum of friction thanks to your IDE, you will do them, and you will not run into the situation where you have accumulated loads of technical debt and need two weeks to get everything into a maintainable state again.

I'm not sure what to say beyond that i personally never felt the need for this. One of the IDEs i use does have several refactoring features, but the only one i ever used was the identifier rename and i probably used it around 2-3 times the last five years.

It is a useful feature when you need it, but personally it wouldn't affect my choice of tools at all. After all i could just load an IDE that has it in the rare case i need it and then continue using the other tool i prefer, it isn't like modern computers can only run a single program at a time or anything :-P.

I usually use geany for my day to day development due to it being extremely lightweight, highly recommend it.

The only thing it annoys me though is that the indentation detection heuristic needs to be a bit better (i.e. https://github.com/geany/geany/issues/1008).

No Vim bindings as explained by developers (not the goal of the core project) and currently no Nim support https://www.geany.org/Main/AllFiletypes

I will have to stick with VIM/VSCode for now, but holy cow this IDE is fast.

Doesn't Geany use Scintilla? Support for scintilla exists out there and in fact I just found this PR which seems to have gotten stuck: https://github.com/geany/geany/pull/193

You can probably get syntax highlighting by copying the required file in the right place.

I've been using Geany for a few years on my Raspberry Pi. Their "Raspbian OS" includes it now.

I have it installed on my Mac too. I still mostly use BBEdit on it, but Geany has some cool features that make it worth having on the Mac.

Have you had any issues running it on a Mac? I've used it on Windows and Linux, but I haven't owned a Mac until recently.

japhyr, I apologize for not replying sooner.

Geany runs very nice on my Mac. I have a older Mac Mini running El Capitan and it's been solid on that.

Better Python autocompletion for Geany: https://github.com/notetau/geany-jedi-complete

Is Geany particularly strong with large files? I remember using it for a particular reason once, and I think I was dealing with huge files, but don't remember exactly.

Yes, up to a reasonable size. I use it for everything except monstrous files (multiple gigabytes). A lot of similarly featured editors start to choke a lot sooner.

During the years I have tested a lot of editors for programming. When running on low-end tech sublime text is a very good option. Atom is to sluggish with a very huge memory footprint. I used to program assembler on the Amiga where every byte was sacred and highly valued. Today’s programmer don’t care much about keeping there program lean, mean and compact. Though, it is very fun to code with VSCode. For simple script coding vi and nano suffice.

Can we get the title changed?

Doesn't just run on Linux and Windows.

This takes me back! I used Geany back in high school to write FreeBasic and Python. Quite a nice editor and very approachable for beginners.

Geany also has its place in my launch bar with a nice balance e between low key IDE (class browser) and minimalism while feeling Linux native. I also use vim and sublime but for small quick projects I like the comfort of this. One thing I miss (maybe I didn't search enough) is multiple cursors though. I can't live very long without it.

> I also use vim

Does geany have any vim key binding? Did a quick google and the first result is a 200 line lua script dated 2013, so I'm not hopeful.

I'm not terribly familiar with Geany, so don't take this as a confirmation that it's not possible, but Kate, which is sort of KDE's Geany, does have vim keybindings.

With Geany being a lightweight IDE, I'd say Kate is a feature-rich text editor, so it's not quite the same, but maybe it works for you nonetheless.

Been using it for at least the last 7 years as my daily editor/ide. Haven't found a reason to switch yet.

Yeah me too - I've tried many different IDEs but always find myself back in Geany. Just an awesome tool.

I made this prototype http://edit.rupy.se, I'm looking to find/build something that allows for productivity on a Raspberry Pi Zero. Will try Geany, my fallback is Emacs.

The headline says Linux and Windows, but looks like there is an OS X version as well. Haven't used Geany since the 4-5 years I've been away from desktop Linux/Windows, so that's good news, I'll be trying it out again!

I would probably use this all the time if it supported syntax highlighting in mixed-language (HTML+CSS) files. I generally like it for my purposes, save that one exception.

I remember always seeing this on the front page of the Ubuntu software centre, never clicked on it though cause back then I strongly preferred simple code editors to IDEs

This brings back a lot of memories. We used to use Geany at the faculty where I taught Introduction to programming.

Thoughts on Gnome Builder?

eish seems portable apps is still on version 1.32. Will probably roll with a update in the next week or so, then I will try it out.

It's not exactly a huge update:

Geany 1.33 (February 25, 2018)

    Bug fixes
    * Fix the symbols tree hierarchy when several tags have the same name

    * Add a tooltip showing the full path on menu items representing documents
    * Add a note for applying the indent settings in the project preferences
    * Enable popup menu on sidebar and message window notebooks (PR#1726).
    * Show status message on attempt to execute empty context action
      (Lars Paulsen, PR#1642).
    * GTK3 theming improvements and documentation (PR#1382).

    * CSS: Update Grid properties (Issue#1705).

    * Updated translations: de, el, es, fr, it, lv, pl, pt, tr, ru, zh_CN

Goes very well with raspberry and such!

vscode + xmake

I installed Geany on Ubuntu about 4 years ago on my laptop. I opened a single Java source file (or was it C++?). The fans instantly spun up, the machine was under extreme load. My batteries drained like never before. I have never seen anything like it, even full HD video streaming doesn't take this much battery. I went back to Eclipse.

There are a Rust-plugin for code-completion / racer?

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact