Skip to content

Instantly share code, notes, and snippets.

@relipse
Created February 27, 2014 15:57
Show Gist options
  • Save relipse/9252907 to your computer and use it in GitHub Desktop.
Save relipse/9252907 to your computer and use it in GitHub Desktop.
.screenrc
#
# my commented .screenrc
#
### screen as an answering machine!
#
# no annoying audible bell, please
vbell on
vbell_msg "Hey - something's ringing on %t (%n)"
activity "Hey - something's moving in %t(%n)"
### detaching/reattaching
#
# detach on hangup
autodetach on
# This is how one can set a reattach password:
# password ODSJQf.4IJN7E # "1234"
### logging in/off
#
# don't display the copyright page
startup_message off
# emulate .logout message
pow_detach_msg "Screen session of \$LOGNAME \$:cr:\$:nl:ended."
# don't kill window after the process died
# zombie "^["
################
#
# xterm tweaks
#
#xterm understands both im/ic and doesn't have a status line.
#Note: Do not specify im and ic in the real termcap/info file as
#some programs (e.g. vi) will not work anymore.
termcap xterm hs@:cs=\E[%i%d;%dr:im=\E[4h:ei=\E[4l
terminfo xterm hs@:cs=\E[%i%p1%d;%p2%dr:im=\E[4h:ei=\E[4l
#80/132 column switching must be enabled for ^AW to work
#change init sequence to not switch width
termcapinfo xterm Z0=\E[?3h:Z1=\E[?3l:is=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;4;6l
# Make the output buffer large for (fast) xterms.
#termcapinfo xterm* OL=10000
termcapinfo xterm* OL=100
# tell screen that xterm can switch to dark background and has function
# keys.
termcapinfo xterm 'VR=\E[?5h:VN=\E[?5l'
termcapinfo xterm 'k1=\E[11~:k2=\E[12~:k3=\E[13~:k4=\E[14~'
termcapinfo xterm 'kh=\EOH:kI=\E[2~:kD=\E[3~:kH=\EOF:kP=\E[5~:kN=\E[6~'
# special xterm hardstatus: use the window title.
termcapinfo xterm 'hs:ts=\E]2;:fs=\007:ds=\E]2;screen\007'
#terminfo xterm 'vb=\E[?5h$<200/>\E[?5l'
termcapinfo xterm 'vi=\E[?25l:ve=\E[34h\E[?25h:vs=\E[34l'
# emulate part of the 'K' charset
termcapinfo xterm 'XC=K%,%\E(B,[\304,\\\\\326,]\334,{\344,|\366,}\374,~\337'
# xterm-52 tweaks:
# - uses background color for delete operations
termcapinfo xterm* be
################
#
# other terminals
#
# make hp700 termcap/info better
termcapinfo hp700 'Z0=\E[?3h:Z1=\E[?3l:hs:ts=\E[62"p\E[0$~\E[2$~\E[1$}:fs=\E[0}\E[61"p:ds=\E[62"p\E[1$~\E[61"p:ic@'
# Extend the vt100 desciption by some sequences.
termcap vt100* ms:AL=\E[%dL:DL=\E[%dM:UP=\E[%dA:DO=\E[%dB:LE=\E[%dD:RI=\E[%dC
terminfo vt100* ms:AL=\E[%p1%dL:DL=\E[%p1%dM:UP=\E[%p1%dA:DO=\E[%p1%dB:LE=\E[%p1%dD:RI=\E[%p1%dC
termcapinfo linux C8
# old rxvt versions also need this
# termcapinfo rxvt C8
################
#
# keybindings
#
#remove some stupid / possibly dangerous key bindings
bind k
bind ^k
bind .
bind ^\
bind \\
bind ^h
bind h
#make them better
bind 'K' kill
bind 'I' login on
bind 'O' login off
bind '}' history
# Yet another hack:
# Prepend/append register [/] to the paste if ^a^] is pressed.
# This lets me have autoindent mode in vi.
register [ "\033:se noai\015a"
register ] "\033:se ai\015a"
bind ^] paste [.]
### colors
#
# some notes on COLOR before explaining its use in
# the commands caption, hardstatus, and sorendition.
#
# COLOR: colors codes are combinations of
# [attribute modifier] [color description]
# the manual talks of "attribute/color modifiers".
# see the manual, section "STRING ESCAPES".
#
# Color table:
# 0 Black . leave color unchanged
# 1 Red b blue
# 2 Green c cyan
# 3 Brown / yellow d default color
# 4 Blue g green b bold
# 5 Purple k blacK B blinking
# 6 Cyan m magenta d dim
# 7 White r red r reverse
# 8 unused/illegal w white s standout
# 9 transparent y yellow u underline
#
### the caption line - screen status bar!
#
# %{= bb}%{+b w} colors
# %t window name
# %= end of line
# %Y-%m-%d year-month-date
# %c clock
#
caption always "%{= ck}root.%H > %t %= %m-%d-%Y | %c"
#caption always "%{= bb}%{+b w}[ %t ] %= %Y-%m-%d | %c"
#caption always "%3n %t%? @%u%?%? [%h]%?%=%c"
### the hardstatus line - verbose screen menu!
#
# defhstatus "screen: ^En (^Et)"
hardstatus alwayslastline "%-Lw%{+b kc}%50>%n%f* %t%{-}%+Lw%<"
#hardstatus alwayslastline "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<"
#hardstatus alwaysignore
#hardstatus alwayslastline "%Lw"
#hardstatus alwayslastline "%-Lw%50>%n%f* %{=c} %t%+Lw%<"
#hardstatus alwayslastline "%3n %t%? @%u%?%? [%h]%?%=%c"
# number of lines in buffer
#
defscrollback 2000
#attrcolor u "-u b"
#attrcolor b "R"
################
#
# default windows
#
screen -t one 0
screen -t two 1
screen -t three 2
# some more examples:
#
# screen -t local 0
# screen -t mail 1 mutt
# screen -t remote 2 ssh some.server.org
select 0
# default name for new windows
#
shelltitle "root"
### misc
#
# advertise hardstatus support to $TERMCAP
termcapinfo * '' 'hs:ts=\E_:fs=\E\\:ds=\E_\E\\'
#I finally found it (yeha), this fixes my xterm scrollbar, this trick helps so you can scroll up in screen.
termcapinfo xterm ti@:te@
# make the shell in every window a login shell
# this makes the shells think that they are login shells and have to do full initialisation.
# For csh-like shells this means, that both .login and .cshrc files will be loaded.
# Usually people are satisfied when shells under screen only sources their .cshrc file.
# shell -$SHELL
# shell -/bin/bash
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment