28

I am using a mac (snow leopard). I am a ruby on rails developer and I watched a screencast on GNU screen and am trying it out. So far I like it.

On a window when I start server I get to see the log messages. However I can't seem to scroll up. I do get a scroll bar. However when I use the scroll bar and scroll up I don't see anything.

How do people use GNU screen and scroll up?

41

There's a 'copy mode' in screen, activated by pressing, Ctrl + A, followed by [. This gives you a cursor that you can use to scroll backwards.

8
  • Thanks that works. Is there a faster way to go up rather than just having the up arrow pressed.
    – Nadal
    May 7 '10 at 15:27
  • 9
    @dorelal: The vim-like shortcuts Ctrl-U and Ctrl-D move up a half page and down a half page while in copy mode. Also, ESC will take you out of copy mode. May 7 '10 at 16:09
  • 5
    @dorelal I usually use the other shortcut ctrl-A, then Esc quickly, to get into copy mode rather than [. It is easier for me to remember.
    – Jarvin
    May 7 '10 at 19:27
  • 1
    What's this quickly? It does not seem to matter how fast you do it... Aug 18 '10 at 15:11
  • @kevin: quite right, the "quickly" was meant to explicitly convey "not simultaneously".
    – Babu
    Aug 18 '10 at 17:09
16

Add the following to your ~/.screenrc:

termcapinfo xterm ti@:te@
termcapinfo xterm-color ti@:te@

This will let you use the Terminal.app scrollbar instead of relying on screen's scrollback buffer.

5
  • 2
    This should really become a default setting. I keep on coming back here to get this, thanks!
    – Dagelf
    Oct 17 '14 at 13:43
  • 1
    ....And again.... and again... the gift that keeps on giving...
    – Dagelf
    Jul 8 '15 at 16:40
  • 1
    ...And again...
    – Dagelf
    Aug 4 '15 at 19:00
  • Or: termcapinfo xterm* ti@:te@ for both.
    – kenorb
    Jan 17 '16 at 12:30
  • It doesn't work with SHIFT+PgUp, so I still can't scroll up the terminal.
    – hopeseekr
    Nov 2 '19 at 12:22
8

The correct way is to use the copy mode, as Babu pointed out.

You could speed things up a bit by automatically entering into copy mode when you press your favourite scroll keys.

For example, using PgUp and PgDown:

# easier scroll
bindkey "^[[5~" eval 'copy' 'stuff ^b'  # PgUp   | Enter copy/scrollback mode and page up
bindkey "^[[6~" eval 'copy' 'stuff ^f'  # PgDown | Enter copy/scrollback mode and page down
1
  • 2
    bindkey is the solution, but binding [Page Up] or [Page Down] will interfere with using less. We just need one key to enter copy mode. For completeness: To bind the [Insert] key (otherwise useless and right besides the navigation keys) with copy mode, we should add bindkey -k kI copy to .screenrc and restart the screen session.
    – Small Boy
    Dec 25 '20 at 15:33
6

Take a look at GNU Screen: Working with the Scrollback Buffer for a good introduction.

2
  • And... it's gone. 404 Jan 7 '14 at 22:12
  • Replaced link with archive.org link Jan 8 '14 at 16:01
5
  • I use Ctrl+A Esc to go in copy mode.
  • Then use arrows or PageUp/PageDown to move through the scroll buffer.
  • To exit copy mode, just hit Esc.

that’s a little more intuitive by this way.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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