Skip to content

Instantly share code, notes, and snippets.

@joaopizani
Created May 17, 2012 11:55

Revisions

  1. João Paulo Pizani Flor created this gist May 17, 2012.
    85 changes: 85 additions & 0 deletions .screenrc
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,85 @@
    # the following two lines give a two-line status, with the current window highlighted
    hardstatus alwayslastline
    hardstatus string '%{= kG}[%{G}%H%? %1`%?%{g}][%= %{= kw}%-w%{+b yk} %n*%t%?(%u)%? %{-}%+w %=%{g}][%{B}%m/%d %{W}%C%A%{g}]'

    # huge scrollback buffer
    defscrollback 5000

    # no welcome message
    startup_message off

    # 256 colors
    attrcolor b ".I"
    termcapinfo xterm 'Co#256:AB=\E[48;5;%dm:AF=\E[38;5;%dm'
    defbce on

    # mouse tracking allows to switch region focus by clicking
    mousetrack on

    # default windows
    screen -t Shell1 1 bash
    screen -t Shell2 2 bash
    screen -t Python 3 python
    screen -t Media 4 bash
    select 0
    bind c screen 1 # window numbering starts at 1 not 0
    bind 0 select 10

    # get rid of silly xoff stuff
    bind s split

    # layouts
    layout autosave on
    layout new one
    select 1
    layout new two
    select 1
    split
    resize -v +8
    focus down
    select 4
    focus up
    layout new three
    select 1
    split
    resize -v +7
    focus down
    select 3
    split -v
    resize -h +10
    focus right
    select 4
    focus up

    layout attach one
    layout select one

    # navigating regions with Ctrl-arrows
    bindkey "^[[1;5D" focus left
    bindkey "^[[1;5C" focus right
    bindkey "^[[1;5A" focus up
    bindkey "^[[1;5B" focus down

    # switch windows with F3 (prev) and F4 (next)
    bindkey "^[OR" prev
    bindkey "^[OS" next

    # switch layouts with Ctrl+F3 (prev layout) and Ctrl+F4 (next)
    bindkey "^[O1;5R" layout prev
    bindkey "^[O1;5S" layout next

    # F2 puts Screen into resize mode. Resize regions using hjkl keys.
    bindkey "^[OQ" eval "command -c rsz" # enter resize mode

    # use hjkl keys to resize regions
    bind -c rsz h eval "resize -h -5" "command -c rsz"
    bind -c rsz j eval "resize -v -5" "command -c rsz"
    bind -c rsz k eval "resize -v +5" "command -c rsz"
    bind -c rsz l eval "resize -h +5" "command -c rsz"

    # quickly switch between regions using tab and arrows
    bind -c rsz \t eval "focus" "command -c rsz" # Tab
    bind -c rsz -k kl eval "focus left" "command -c rsz" # Left
    bind -c rsz -k kr eval "focus right" "command -c rsz" # Right
    bind -c rsz -k ku eval "focus up" "command -c rsz" # Up
    bind -c rsz -k kd eval "focus down" "command -c rsz" # Down