From vi, if you issue the command :sp, the screen splits into two "views", allowing you to edit more than one file from the same terminal.

Along those same lines, is there a way to have multiple shells open in the same terminal?

up vote 301 down vote accepted

You can do it in screen the terminal multiplexer.

  • To split vertically: ctrla then |.
  • To split horizontally: ctrla then S (uppercase 's').
  • To unsplit: ctrla then Q (uppercase 'q').
  • To switch from one to the other: ctrla then tab

Note: After splitting, you need to go into the new region and start a new session via ctrla then c before you can use that area.

EDIT, basic screen usage:

  • New terminal: ctrla then c.
  • Next terminal: ctrla then space.
  • Previous terminal: ctrla then backspace.
  • N'th terminal ctrla then [n]. (works for n∈{0,1…9})
  • Switch between terminals using list: ctrla then " (useful when more than 10 terminals)
  • Send ctrla to the underlying terminal ctrla then a.
  • 16
    Tmux also does this, and many terminal programs have split views and tabs. – Shawn J. Goff Feb 15 '11 at 16:51
  • 1
    @AaronNewton ctrl+a then release everything then shift+s (don't know for caps lock, mine is disabled) – shellholic Dec 5 '11 at 12:43
  • 4
    Ctrl A Shift S splits the screen, then Ctrl A Tab switches to the other split, and Ctrl A c creates a bash prompt. Is there anyway to have these commands run automatically when starting screen so we don't have to run the commands all the time. – Michael Butler Sep 19 '12 at 14:22
  • 2
    Which version of screen for the vertical split? The version I have installed is 4.00.03, which is the same as the latest available download from from all the mirrors I've checked. – Brian Vandenberg Oct 14 '13 at 20:53
  • 1
    How do I make one of my vertical windows wider than the other? I want like a 30|30|40 split. – mpen Mar 18 '15 at 22:58

Try tmux (Terminal MUltipleXer):

tmux screenshot

And to understand the difference between session, window and pane: tmuxnestings

  • 18
    Screen vs tmux? tmux is probably better for advanced usage and is more modern, but screen is installed everywhere and works just fine. – user606723 Apr 11 '13 at 21:31
  • Other great tmux help resources are: intro, config, primer and cheat-sheet. – not2qubit Dec 10 '17 at 10:49
  • @user606723 among other things the Tmux configuration is actually readable; not like a dog rolled over the keyboard. Of course you can make do with a wrapper like byobu (which wraps both terminal multiplexers), but Tmux seems to be superior in several aspects other than the configuration. And was already superior several years ago. Screen needed patches for splitting both directions and Tmux had it out of the box. last but not least the license may be an argument for Tmux or Screen, depending on where you stand. – 0xC0000022L May 7 at 20:59

As mentioned in the comments, besides screen, another good terminal multiplexer is tmux. You can refer to the manual for a complete description and command reference. Some basic operations to get started are:

  • Split screen vertically: Ctrlb and Shift5
  • Split screen horizontally: Ctrlb and Shift"
  • Toggle between panes: Ctrlb and o
  • Close current pane: Ctrlb and x

You can achieve more complex layouts by splitting panes. You can also have multiple windows with panes and switch between them.

  • Create windows: Ctrlb and c
  • Switch to next window: Ctrlb and n
  • Switch to previous window: Ctrlb and p
  • Destroy current window: Ctrlb and Shift7
  • 3
    Note that you can change tmux's prefix to something easier to reach than <C-b>. – Smith John Apr 7 '13 at 12:04

If you want a program that just splits a terminal¹, there's splitvt. There are programs that split a terminal and do a lot of other stuff besides, such as Screen, Tmux, Emacs, …

¹ It's the terminal you're splitting, not the shell.

  • +1, good point about how the terminal is what is really being split. – Justin Ethier Feb 21 '11 at 14:37

Apart from the excellent suggestions on Screen and Tmux if you are using some sort of window manager you may be interested in Terminator you can split horizontally or vertically fashions, plus tabs and more... here's a list of features taken from the author's web site:

  • Arrange terminals in a grid
  • Tabs
  • Drag and drop re-ordering of terminals
  • Lots of keyboard shortcuts
  • Save multiple layouts and profiles via GUI preferences editor
  • Simultaneous typing to arbitrary groups of terminals

Have a look to the screenshots on the project site.

Most important you can combine Terminator with Screen/Tmux.

  • 1
    Note that using Terminator splits will be less convenient when copypasting between two windows of your editor. – gb. Aug 7 '12 at 2:00
  • You can edit several panes at once after grouping the panes (or just selecting all at once), and you can edit the shortcuts for pane switching just as well. I have ctrl-shift-h/j/k/l for moving between panes, and ctrl-(shift)-tab for switching between tabs, it just works awesome. – sjas Feb 13 '16 at 19:57
  • good we can click on them to focus; but cant still find a way to evenly distribute the terminals in the grid, it is just a mess to be fixed by hand, also I need to dynamically add terminals, therefore get them updated in an evenly distributed grid, any idea? – Aquarius Power Apr 29 '16 at 22:24

Konsole for KDE has a built in function: Ctrl+(

Shift+Tab will cycle through the split views

Shift+Left Arrow/Right Arrow will cycle the current view through the tabs/views

  • Do you know the keyboard shortcuts to switch between the split view panes in konsole? – LangeHaare Nov 22 '17 at 18:00
  • 1
    @LangeHaare SHIFT+TAB will cycle through the view panes – chaptuck Feb 19 at 19:51

Use terminator.

Should be available via your favourite package manager, if you use a mainstream distribution.

It is the only terminal multiplexer where copy-pasting works properly from within panes in your window.

  • Terminator is technically not a multiplexer: "A terminal multiplexer is a software application that can be used to multiplex several virtual consoles, allowing a user to access multiple separate terminal sessions inside a single terminal window or remote terminal session." (from Wikipedia) – erb Feb 13 '16 at 13:08
  • It is also not the only multiplexer where copy-pasting works properly from within panes, tmux does this just fine with the proper configuration. – erb Feb 13 '16 at 13:10
  • @erb - what exactly do have to configure if I dont want to select complete lines that span several terminals upon triple-clicking and why isnt that the sane default setting? – sjas Feb 13 '16 at 13:38
  • You can use copy-mode in tmux to do copying, if you want to use the mouse you should only need to enable mouse support, my config with it is here: github.com/ErikBjare/dotfiles/blob/master/home/.tmux/… If you want to use the system clipboard with copy-mode see this: unix.stackexchange.com/questions/131011/… – erb Feb 13 '16 at 13:46
  • 1
    Huh? Why not? You can get it to work almost exactly (if not exactly) the same way as selecting in terminator. I used to be a terminator user for the same reason, once I got the config done I never looked back and can now save quite some RAM and other resources by switching to a more lightweight terminal emulator since the copying was the only thing annoying me. – erb Feb 14 '16 at 1:04

Byobu

I'm a happy user of Guake with Byobu inside it, which by default use tmux (probably better than screen).

Three steps

  1. Install: sudo apt-get install byobu (no PPAs needed on Ubuntu nor Debian, check for other distros).
  2. Add it to available shells: which byobu | sudo tee -a /etc/shells, as I told in this Guake Github issue.
  3. On Guake preferences (guake-prefs) choose Byobu as the default interpreter: image
  4. Optional: Uncheck "Show tab bar", since you will use Byobu for that:

    image

  5. If a shortcut doesn't work try disabling Guake ones that might interfere (in my case was Ctrl+F2 for vertical split): screenshot

Other suggestions

  1. Learn shortcuts with Shift+F1 or this excellent screencast.
  2. Learn available byobu terminal commands with apropos byobu
  3. To use fn keys on Midnight Commander use Alt+ or Shift+F12 to disable byobu F-keys.

screenshot

Try Vertical Split for GNU Screen

This patch provides a vertical split feature for current releases of GNU Screen. The feature is designed to function in the same manner as screen's existing split command, but dividing the regions vertically instead of horizontally. Both forms of splits can be used together in any combination/quantity/order desired. Something similar is slated to appear in GNU Screen 4.1 soon, and is already available in CVS per this mailing list thread (and has been included in the Debian and Ubuntu screen packages starting with 4.0.3-10). Also, a recent project named ScreenWM is designed specifically to work with a vsplit-patched screen (check it out!).

  • To be more specific, Ctrl+| splits the screen in Ubuntu right off the bat. – Jonatan Öström Oct 23 '16 at 18:17

Your Answer

 

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.