I like Geany as a no-nonsense Integrated Development Environment (IDE). It is fast, elegant, intuitive, and lets you get your programming job done. (I certainly find it superior to the more popular Gedit.) You can also use it to program in R, and this page will show off some tips for doing that.
Execute commands in an R session
To send R commands from the editor to the integrated Virtual Terminal Emulator (VTE), you need to download Geany >= 0.19. Then you can set
geany.conf and assign “Send selection to terminal” to a
ctrl+enter keybinding (or similar) via
Edit > Prefs > Keybindings. As long as your Geany installation has support for the embedded VTE (and to my knowledge it is currently NOT supported on Windows), you’re good to go. Start R in the terminal, write some R code in Geany and send the line or selection to the terminal by using the assigned keybinding.
Be careful, though. The hidden option
send_selection_unsafe is called that way and is disabled by default for good reason. If set to
true, it does not strip trailing newline characters and even add one if not already present. When no R session is running, you are prone to send stupid commands (e.g.
rm -rf your_preferred_folder) for execution to the console. Again, be careful with that.
Improving the R parser in Geany
The R lexer should consider the
"." (dot) as part of an object name (as it does for the
"_" underscore). By default it doesn’t. To change that, you can proceed as follows (assuming Linux, but it should be very similar on other platforms).
~/.config/geany/filedefs/. Then in
~/.config/geany/filedefs/filetypes.r uncomment the
wordchars element and add a
"." (dot) in that list. Your config file should thus contain the following line:
Now when you double-click or
ctrl+left/right on an object name (say,
my_uber.cool_fun()), Geany should select or skip the entire word.
UPDATE: You need Geany >=1.23 for this to work. Otherwise, check the Comments section.
Combining Geany with RStudio
As good as an IDE as Geany is, it is not so well suited for working with R. It comes with no integrated graphics device, help system, or object browser. So Geany is a good choice if you’re OK with working in a bare bones terminal. In this sense RStudio is superior for actually performing statistical analyses in R, as it has many R-specific functionalities that make analyzing data that much easier. Yet again, RStudio is not a full-fledged IDE and lacks certain functionality for heavy code uplifting.
So one thing that you can do is to use both IDEs at the same time on a given file. My workflow is as follows:
- I open a_given_file.R in both Geany and RStudio and regularly save any modifications
- When I analyze data in RStudio, save a_given_file.R and switch to Geany, you will usually be greeted with a “The file ‘untitled.R’ on the disk is more recent than the current buffer. Do you want to reload it?” pop-up dialogue. Say
- When I do some heavy code uplifting in Geany, save a_given_file.R and switch to RStudio, you will usually automatically get the latest version of the file reloaded from disk.
Be careful: this approach works if you get used to it and try to avoid careless errors that could result in data loss. Otherwise, always save and close the file before switching to the other IDE.
If readers have other useful tips on using Geany for R programming, please leave your thoughts in the Comments section.