42

Every once in a while I see people using what looks like terminal in their Mac, except that in what seems to be one window they have a vertical 'split.' On one side of the split, they have emacs or something, and in the other they have something else.

How can I have two independent things happening at once in the same terminal window, divided by a vertical split? It looks a lot like split pane, but split pane is a horizontal split and the actions are mirrored in the panes.

  • does the built in terminal in mac still does not support vertical split? – morpheus Sep 17 '15 at 22:55
27

Possibly GNU Screen with vertical split?

image

It should already be installed on your Mac, type screen in the terminal.

You can also do this with emacs by itself.

  • hmm... i split emacs vertically, but it seems to be mirroring my actions... is there anyway to get two "instances" of emacs running side by side in this split view? – Tony Stark Oct 14 '09 at 23:47
  • 6
    How does typing screen make it a split screen? – IgorGanapolsky May 24 '16 at 21:10
  • @IgorG. You need to get the vertical split plugin for screen: fungi.yuggoth.org/vsp4s – Samy Bencherif Jun 8 '17 at 19:34
17

If you like to work with your terminal windows in fullscreen, you can use macOS' built in screen splitting feature like so:

  1. Open two terminal windows
  2. Toggle one of the terminal windows fullscreen
  3. Activate 'Mission Control' (default: F3)
  4. Drag the second terminal window onto the first's fullscreen space
  5. Enjoy your vertically split fullscreen terminal windows

You can switch keyboard focus between terms with -[ and -]

  • Yep!, cool one, but I can't add multiple tabs in the same window more than 2. – Dexter May 31 '17 at 12:47
  • you are genius!! ✌️👏🙏🏻🎓 – SamSol Oct 25 '17 at 16:41
17

Download iTerm2 for macOSX from here.

Use cmd + d for vertical split and cmd + shift + d for horizontal split

To navigate between the vertical splits in left/right or up/down fashion use cmd + [ and cmd + ]

I recommended iTerm 2 because of these features.

Also, I like the autocomplete feature which occurs when you press cmd + ;

Features in short include the following:

  • Split Panes
  • Hotkey Window
  • Search
  • Autocomplete
  • Mouseless Copy
  • Paste History
  • Instant Replay
  • Configurability
  • Full Screen
  • 256 Colors
  • Unix-like
  • Readability
  • Mouse Reporting
  • Growl Support
  • Exposé Tabs
  • Tagged Profiles
  • Multi-Lingual
  • 1
    Welcome to SuperUser. please include the features in your answer, instead of relying on a link. if it ever gets broken, so does your answer. – Lorenzo Von Matterhorn Sep 27 '13 at 8:00
  • 1
    cmd + d, is the one!! – Alexander Mills Nov 24 '15 at 0:07
  • In terminal, cmd + d does a horizontal split in terminal – Christia Jul 28 '17 at 17:55
  • Oh, a lot features. That's why I prefer Terminal. – KcFnMi Aug 9 '18 at 10:48
  • I think iTerm is way better than terminal. – neo7 Aug 14 '18 at 0:25
6

John T's accepted answer (GNU screen, accessed with screen) was what I needed, but I needed a few minutes learning some basics to make it useful. Here is the jump start I needed on key bindings (straight from the man page) - note that you need to install the GNU version for vertical splits (listed after the FAU version that was in my Mavericks).

Also, I highly recommend you skim man screen to see what suits your needs. You can always just launch another terminal using screen and then read the manual...

Screen version 4.00.03 (FAU) 23-Oct-06

(included in Mavericks and likely similar in earlier)

       The following table shows the default key bindings:

       C-a '       (select)      Prompt for a window name or number to switch to.

       C-a "       (windowlist -b)
                                 Present a list of all windows for selection.

       C-a 0       (select 0)
        a|            a|
       C-a 9       (select 9)
       C-a -       (select -)    Switch to window number 0 - 9, or to the blank window.

       C-a tab     (focus)       Switch the input focus to the next region.  See also split, remove, only.

       C-a C-a     (other)       Toggle to the window displayed previously.  Note that this binding defaults
                                 to  the command character typed twice, unless overridden.  For instance, if
                                 you use the option "-e]x", this command becomes "]]".

...

      C-a S       (split)       Split the current region into two new ones.

...

       C-a ?       (help)        Show key bindings.

       C-a \       (quit)        Kill all windows and terminate screen.

...

       C-a *       (displays)    Show a listing of all currently attached displays.

Additional items with 'Screen version 4.02.01 (GNU) 28-Apr-14'

(installed using sudo port install screen just now)

All of the items listed above in the 4.00.02 (FAU) version, as well as:

      C-a S       (split)       Split the current region horizontally into two new ones.   See  also  only,
                                 remove, focus.

Same above, but this clarifies that it is horizontal. ...

       C-a |       (split -v)    Split the current region vertically into two new ones.
6

Tmux will allow you to split your screen into halves vertically or horizontally.

# install tmux
brew install tmux          # on mac
sudo apt-get install tmux  # on debian

# run it
tmux

# split the screen vertically using this shortcut
CTRL+B %

# split the screen horizontally using this shortcut
CTRL+B "

# switch between screens using this shortcut
CTRL+B o

tmux split screen

  • That much better since we no need to install another terminal app – Finn Jan 2 at 3:39
3

After you vertically split on screen, you can type screen to create new instance. Or you can also use iTerm or iTerm2 which can use vertical split. See this link for splitted panes. www.iterm2.com/#/section/features/split_panes

2

very similar to John T's answer about screen, but you can also do this with tmux (http://tmux.sourceforge.net/). Nice thing about tmux compared to screen is that the vertical split feature comes even with the version you can get from packages(macports or homebrew for Mac, apt-get for ubuntu etc.).

1

To split this in emacs use ctrl + x, b (control and x together, then b) to switch to another buffer that is already open. You can also click on the filename at the bottom to switch to another buffer.

Here is a list of shortcuts to resize windows and do much more with emacs link text

  • Fantastic link for the cheat sheet! Thanks for sharing. – gbc Apr 30 '11 at 14:11
  • I don't think this shortcut has any effect in Mac terminal. – IgorGanapolsky May 24 '16 at 21:11
  • This command doesn't do splits at all, it just switches buffers. Also, the link is dead. – 8bittree Oct 18 '16 at 16:04
0

How is this possible, to have two independent things happening at once in the same terminal window, divided by a vertical split?

You could say it's basically just running two programs within the same window.

In OS X Snow Leopard a horizontal split is built-in, but that indeed is a mirroring function. See also Mac OS X Snow Leopard - split Terminal windows.

  • i meant more of 'how can i accomplish this effect' rather than 'how does it work.' And i don't think screen is my answer; i want them side by side and independent. – Tony Stark Oct 15 '09 at 7:20

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.