keyboard labs mouse_free_development productivity rubymine

Working with RubyMine’s Tabs and Splits

RubyMine’s editor is tab-based. When you open a file, it’s opened in a new tab. The editor can also be split vertically or horizontally; allowing you to edit multiple files simultaneously. In this post, we’ll look at managing and navigating these basic RubyMine concepts on OS X.

Navigating Between Tabs

Move between multiple tabs with command + shift + [/] or control + Left/Right.

tabs.png

Closing Tabs

Close a tab with command + W.

There are several other useful tab closing commands that don’t have keyboard shortcuts. I add the following shortcuts for them:

  • command + shift + W – close all other tabs
  • command + option + W – close all tabs
  • command + option + control + W – close all unmodified tabs

Splitting the Editor

Edit multiple files simultaneously by splitting the editor using the “Split Vertically” or “Split Horizontally” commands (find these commands quickly with command + shift + A, “Find Action”).

split-editor.png

I add command + option + control + Up/Down shortcuts to split vertically and horizontally.

Navigating Between Splits

Move the cursor to the next split with option + Tab. Move to the previous split with option + shift + Tab.

The Switcher can also be used to move between splits. Use control + Tab to open the Switcher, continue holding down control, and then use Tab to select an open file to navigate to.

Moving Tabs Between Splits

Use the “Move To Opposite Group” command (find this command quickly with command + shift + A, “Find Action”) to move tabs between splits.

I add command + option + control + Left/Right shortcuts for this command.

Closing Splits

Close a single split by closing all of its tabs.

Close all splits with option + shift + X.

Master the Basics

In RubyMine, you’ll use tabs and splits all the time. Don’t hesitate to create custom shortcuts for tab and split commands that don’t have them. Efficiently managing and navigating tabs and splits from the keyboard is a fundamental, must learn RubyMine skill.