Introduction
RStudio version 1.1 introduced the Terminal functionality, which does not seem to be getting enough deserved attention and love even though it is very well integrated with the rest of the IDE and can be extremely useful for several daily use-cases.
In this post we will try to cover 4 very common scenarios where the Terminal can be very useful and productive, and how to get the most of it.
RStudio Terminal Fun
In short, the RStudio Terminal provides access to the system shell directly from the RStudio IDE, supporting xterm emulation, full-screen terminal applications, command line operations and more. It also has useful customizable keyboard shortcut bindings to make frequent usage more efficient and enables usage of multiple such Terminals simultaneously.
The experience may vary based on each user’s setup, this experience comes mostly from using RStudio server on a Linux-based system.
Four common use-cases
1. Execute resource-heavy R code in the Terminal quickly
A very common use case where the Terminal makes my life a lot easier is when I need to execute a longer running or resource-heavy tasks in R. Using the RStudio IDE’s session for such tasks can be challenging because running them can slow the entire IDE down, sometimes even so much that it is barely usable. We can easily prevent this by running such tasks in a separate R process within the Terminal. We could of course do this using putty or other software, however doing it within RStudio brings
seamless keyboard shortcut integration between the editor window and the Terminal
ability to use multiple Terminals easily
no need to use other software
To run commands in the terminal, we simply press:
Shift + Alt + R to open a new terminal
launch R in the Terminal
Ctrl + 1 to focus back to the editor window
Ctrl + Alt + Enter to send commands to be executed directly to the Terminal
We can also do this with multiple Terminals if we need to run multiple such “jobs”, and easily switch between Terminal windows using keyboard shortcuts
Ctrl + Alt + F11 - Previous terminal
Ctrl + Alt + F12 - Next terminal
Note the shortcuts mentioned above are default and more than likely not Mac-relevant, but you can easily find those as well in case you are a Mac user, and change them to your liking as well.
2. Advanced version control directly within RStudio
RStudio has a neat version control integration which is a very nice addition to the IDE, however there are some advanced version control operations that are not possible to handle there directly, git rebase and git push --force being just a couple of examples. Thanks to the Terminal, you can very easily do all those operations without ever leaving your RStudio IDE.
3. Serving your Shiny app/Blogdown site without blocking or slowdown
My favourite use of the Terminal when writing this blog is to serve the site via the Terminal and see the changes I make live, without the IDE being slowed down and laggy, which often happens when serving the site directly from RStudio’s R session. A very similar point also applies when running a Shiny app from within RStudio. This simple use of the Terminal makes things more convenient for me.
Running a Shiny app. We can use a pre-selected port to make viewing later easier:
# Send to the terminal with Ctrl + Alt + Enter:
R -e 'library(shiny); runApp(&quot;appdir&quot;, port = 9999, launch.browser = FALSE)'
# Then show in the viewer with Ctrl + Enter
rstudioapi::viewer(&quot;http://127.0.0.1:9999&quot;)
Similarly, serving a Blogdown site:
# Send to the terminal with Ctrl + Alt + Enter:
R -e 'library(blogdown); blogdown::serve_site(port = 9999, browser = FALSE)'
# Then show in the viewer with Ctrl + Enter
rstudioapi::viewer(&quot;http://127.0.0.1:9999&quot;)
Alternatively, we can also use rstudioapi to send commands to the Terminal:
termId Global Options... -__ Terminal
The Terminal can be interfaced with using the rstudioapi package functionality. Read the Interacting with Terminals vignette to learn more.
If the default keyboard shortcuts are not the most convenient for you, they can be updated and more added under the Tools -__ Modify Keyboard Shortcuts... menu in RStudio
Resources
Using the RStudio Terminal, a great guide by Gary Ritchie
Interacting with Terminals vignette of the rstudioapi package
Customizing Keyboard Shortcuts in RStudio by Kevin Ushey
Introduction to GNU Screen
The Tao of tmux
The last Saturday of September 20 years ago a key parliamentary election was held in Slovakia, resulting in the end of the reign of Vladimír Mečiar’s government and Slovakia being able to conduct crucial reforms and become a member of the EU and NATO.
Did you find the article helpful or interesting? Help others find it by sharing