How to get vertical split of terminal in Mac to execute different actions?

50

16

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.

Tony Stark

Posted 2009-10-14T20:02:17.377

Reputation: 1 930

does the built in terminal in mac still does not support vertical split? – morpheus – 2015-09-17T22:55:47.330

Answers

29

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.

John T

Posted 2009-10-14T20:02:17.377

Reputation: 149 037

12How does typing screen make it a split screen? – IgorGanapolsky – 2016-05-24T21:10:34.533

@IgorG. You need to get the vertical split plugin for screen: http://fungi.yuggoth.org/vsp4s/

– Samy Bencherif – 2017-06-08T19:34:03.680

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 – 2009-10-14T23:47:47.640

24

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

neo7

Posted 2009-10-14T20:02:17.377

Reputation: 356

1cmd + d, is the one!! – Alexander Mills – 2015-11-24T00:07:13.130

In terminal, cmd + d does a horizontal split in terminal – Christia – 2017-07-28T17:55:35.490

Oh, a lot features. That's why I prefer Terminal. – KcFnMi – 2018-08-09T10:48:25.073

I think iTerm is way better than terminal. – neo7 – 2018-08-14T00:25:16.727

1Welcome 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 – 2013-09-27T08:00:56.930

20

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 -]

Benny Powers

Posted 2009-10-14T20:02:17.377

Reputation: 301

Yep!, cool one, but I can't add multiple tabs in the same window more than 2. – Dexter – 2017-05-31T12:47:10.603

you are genius!! ✌️ – SamSol – 2017-10-25T16:41:20.100

11

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

aleemb

Posted 2009-10-14T20:02:17.377

Reputation: 363

That much better since we no need to install another terminal app – Finn – 2019-01-02T03:39:20.910

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.

sage

Posted 2009-10-14T20:02:17.377

Reputation: 873

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

ktsujister

Posted 2009-10-14T20:02:17.377

Reputation: 213

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.).

ktsujister

Posted 2009-10-14T20:02:17.377

Reputation: 213

1

According to here, native terminal (MacOS 10.15) supports splitting pane horizontally by using Command-D.And Shift-Command-D for closing pane.

It's weird to me there is no vertically splitting.

NanoNova

Posted 2009-10-14T20:02:17.377

Reputation: 111

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

Penang

Posted 2009-10-14T20:02:17.377

Reputation: 378

I don't think this shortcut has any effect in Mac terminal. – IgorGanapolsky – 2016-05-24T21:11:19.943

This command doesn't do splits at all, it just switches buffers. Also, the link is dead. – 8bittree – 2016-10-18T16:04:11.413

Fantastic link for the cheat sheet! Thanks for sharing. – gbc – 2011-04-30T14:11:36.060

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.

Arjan

Posted 2009-10-14T20:02:17.377

Reputation: 29 084

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 – 2009-10-15T07:20:47.427