Introduction
Geany is a lightweight IDE and text editor that uses the GTK toolkit. It provides essential IDE features like syntax highlighting, code navigation, and build integration while starting in under a second and consuming minimal RAM. It supports over 50 programming languages out of the box.
What Geany Does
- Provides syntax highlighting and code folding for 50+ languages
- Offers symbol navigation via a sidebar showing functions, classes, and variables
- Integrates with compilers and build systems through configurable build commands
- Supports autocompletion based on open document symbols and ctags
- Includes a built-in terminal emulator, file manager sidebar, and project management
Architecture Overview
Geany is written in C using GTK for the UI and Scintilla as the editing component. It uses ctags for symbol parsing, providing fast code navigation without a full language server. The plugin system (libgeany) exposes a C API for extending functionality. Configuration is stored in plain-text files under ~/.config/geany/.
Self-Hosting & Configuration
- Install from your Linux distribution's package manager, Homebrew on macOS, or the Windows installer
- Configuration files are in ~/.config/geany/ (filetype definitions, keybindings, templates)
- Custom build commands can be set per-project or per-filetype in Build > Set Build Commands
- Install plugins via the Plugin Manager (Tools > Plugin Manager)
- Custom color schemes go in ~/.config/geany/colorschemes/
Key Features
- Starts in under one second with minimal memory footprint
- Built-in terminal emulator for running commands without leaving the editor
- Project management with per-project build commands and settings
- Plugin ecosystem including Git integration, spell check, and macro recording
- Cross-platform: Linux, macOS, Windows, and BSD
Comparison with Similar Tools
- VS Code — Far more powerful with extensions, but 10x heavier; Geany suits resource-constrained environments
- Sublime Text — Faster and more polished, but proprietary; Geany is fully free and open
- Kate — KDE-native with similar capabilities; Geany uses GTK and is lighter
- Notepad++ — Windows-only; Geany is cross-platform with better IDE features
- Vim/Neovim — More powerful for expert users; Geany offers a traditional GUI with no learning curve
FAQ
Q: Can Geany replace a full IDE like IntelliJ or VS Code? A: For lightweight scripting and smaller projects, yes. For large Java/TypeScript projects needing LSP, debugging, and refactoring tools, a full IDE is better.
Q: Does Geany support LSP (Language Server Protocol)? A: Not natively, but a community plugin (geany-lsp) provides basic LSP support.
Q: How do I add support for a new programming language? A: Add a filetype definition in ~/.config/geany/filedefs/ using the existing ones as templates.
Q: Is Geany suitable for remote development over SSH? A: You can use Geany with SSHFS-mounted directories, or use its built-in terminal for SSH sessions.