|
# Filename: $HOME/.screenrc |
|
# Purpose: Setup file for program "(GNU) screen" |
|
# Latest change: Mon Jan 26 10:51:50 CET 2004 |
|
# Author: Michael Prokop / <[email protected]> / www.michael-prokop.at |
|
# =============================================================== |
|
# |
|
# =============================================================== |
|
# SEE ALSO: |
|
# =============================================================== |
|
# SCREEN Pages: |
|
# http://www.guckes.net/screen/ |
|
# http://www.michael-prokop.at/screen/ [AT-Mirror] |
|
# |
|
# MailingList: |
|
# http://www.yahoogroups.com/group/gnu-screen/ |
|
# |
|
# =============================================================== |
|
# ENVIRONMENT |
|
# =============================================================== |
|
# The DISPLAY variable tells programs which display to use. |
|
# This mainly affects programs running on the X server. |
|
# However, when I use screen then I am usually using a terminal - |
|
# and programs do not need to contact the X server. |
|
# This results in programs waiting for some timeout when |
|
# they start up - and this just keeps getting in my way. |
|
# I therefore unset the DISPLAY variable with this command: |
|
unsetenv DISPLAY |
|
# Text Tools rule! :-) |
|
# |
|
# setenv DISPLAY 'localhost:0.0' |
|
# setenv DISPLAY '127.0.0.1:0.0' |
|
# |
|
# Note: the command "setenv DISPLAY ''" |
|
# defines the variable DISPLAY to have an empty value. |
|
# but of course it would still *exist*. |
|
# and some programs seem to react to the |
|
# DISPLAY variable even if it is empty. |
|
# so to turn off the effect you *must* |
|
# "unset" the variable. |
|
# |
|
# =============================================================== |
|
# ESCAPE - the COMMAND CHARACTER |
|
# =============================================================== |
|
# escape ^aa # default |
|
# escape ^pp # suggested binding for emacs users |
|
# |
|
# =============================================================== |
|
# STARTUP of programs in an extra window: |
|
# =============================================================== |
|
# Uncomment one/some following lines to automatically let |
|
# SCREEN start some programs in the given window numbers: |
|
# screen -t mail 0 mutt |
|
# screen -t vim 1 vim |
|
# screen -t google 2 links http://www.google.com |
|
# screen -t slrn 3 slrn |
|
# screen -t www 4 $BROWSER http://www.michael-prokop.at/ |
|
# |
|
# =============================================================== |
|
# VARIABLES - Boolean values (on/off) |
|
# =============================================================== |
|
# detach on hangup |
|
autodetach on # default: on |
|
crlf off # default: off |
|
deflogin off # default: on |
|
# defsilence off # default: off |
|
# hardcopy_append on # default: off |
|
hardcopy_append off # default: off |
|
# nethack on # default: off |
|
# don't display the copyright page |
|
startup_message off # default: on |
|
# no annoying audible bell, please |
|
vbell on |
|
|
|
# =============================================================== |
|
# version depending stuff |
|
# =============================================================== |
|
# 030723 screen version >= 4.00.00beta1 supports the following |
|
# commands: |
|
# defnonblock 1 |
|
# blankerprg rain -d 100 |
|
# idle 120 blanker |
|
|
|
# =============================================================== |
|
# 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 |
|
|
|
# termcap xterm 'AF=\E[3%dm:AB=\E[4%dm' |
|
# terminfo xterm 'AF=\E[3%p1%dm:AB=\E[4%p1%dm' |
|
# Matthias Kopfermann <[email protected]> [020222] |
|
# make the cursor show up in red: |
|
# termcapinfo linux "ve=\E[?25h\E[?17;0;64c" # red |
|
|
|
# =============================================================== |
|
# VARIABLES - Number values |
|
# =============================================================== |
|
defscrollback 1000 # default: 100 |
|
# msgminwait 3 # default: 1 |
|
silencewait 15 # default: 30 |
|
# |
|
# =============================================================== |
|
# VARIABLES - Paths and Files (esp. programs) |
|
# =============================================================== |
|
# bufferfile: The file to use for commands |
|
# "readbuf" ('<') and "writebuf" ('>'): |
|
# bufferfile $HOME/.screen_exchange |
|
# |
|
# hardcopydir: The directory which contains all hardcopies. |
|
hardcopydir $HOME/.hardcopy |
|
# hardcopydir ~/.screen |
|
# |
|
# shell: Default process started in screen's windows. |
|
# Makes it possible to use a different shell inside screen |
|
# than is set as the default login shell. Halleluja! :-) |
|
shell zsh |
|
# shell bash |
|
# shell ksh |
|
# |
|
# =============================================================== |
|
# VARIABLES - Strings |
|
# =============================================================== |
|
# |
|
# 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 |
|
# |
|
# note: "dim" is not mentioned in the manual. |
|
# |
|
# =========================================== |
|
# CAPTION - shows a "caption" for the window. |
|
# =========================================== |
|
# a "caption" is another line which can show information - |
|
# in addition to the hardstatus line. |
|
# |
|
# use caption to show window list: |
|
# caption always "%{= kc}%?%-Lw%?%{= kY}%n*%f %t%?(%u)%?%{= kc}%?%+Lw%?" |
|
# |
|
# caption always '%{= wb}%50=%n%f %t%{= wb}' |
|
# this basically just shows the current window number and title |
|
# on its own; the "%50=" displays it in the middle of the line. |
|
# |
|
# "push right border: current time with seconds and current date" |
|
# caption always "%=%c:%s %Y-%m-%d" |
|
# |
|
# caption always "%>%{wk}%?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw%?%<" |
|
# caption always "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%<" |
|
# caption always "%?%F%{.RW}%?%3n %t%? [%h]%?" |
|
# caption always "%{rk}%H %{gk}%c %{yk}%M%d %{wk}%?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw%?" |
|
# caption always "%{kG}%?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{kG}%?%+Lw%?" |
|
# caption always "%{rk}%H %{gk}%c %{yk}%M%d %{wk}%?%-Lw% ?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw%?" |
|
# caption always "%{rk}%H%{gk} | %c %{yk}%d.%m.%Y | %?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw%? | %{rk} Load: %l %{wk}" |
|
# caption always "%{=}%{+b kR}%H %{+b kY}%M %d %{+b kG}%0c %{+b kB}%?%-Lw%?%{+b kW}%n*%f %kt%?(%u)%?%{+bkB}%?%+Lw%? | %{kR} Load: %l %{kB}" |
|
# caption always "%{=}%{+b kR}%H %{+b kY}%M %d %{+b kG}%0c %{+b kB}%?%-Lw%?%{+b kW}%n*%f %kt%?(%u)%?%{+bkB}%?%+Lw%? | %{kR} Load: %l %{kB}" |
|
# cation always '%{-b}%{= wb}%-Lw%{= wr}%{+b}%n%f %t%{= wb}%{-b}%+Lw %{= wr} %=%c %Y-%m-%d' |
|
caption always "%{+b rk}%H%{gk} |%c %{yk}%d.%m.%Y | %{rw}%n%f %t %{bk} | %?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw%? | %{rk} Load: %l %{wk}" |
|
# |
|
# =============================== |
|
# Hardstatus Line and sorendition |
|
# =============================== |
|
|
|
# hardstatus: Always show the window list in the last line: |
|
# hardstatus alwayslastline "%w" |
|
# hardstatus alwayslastline "%H %w" |
|
# |
|
# use 'L' between '%' and 'w' to show the flags, too1 |
|
# hardstatus alwayslastline "%H %Lw" |
|
# |
|
# example by Adam Spiers <[email protected]> : |
|
# *without* colors: |
|
# hardstatus alwayslastline "%?%-Lw%?%n*%f %t%?(%u)%?%?%+Lw%?" |
|
# *with* colors: |
|
# hardstatus alwayslastline "%?%{yk}%-Lw%?%{wb}%n*%f %t%?(%u)%?%?%{yk}%+Lw%?" |
|
# |
|
# This will show the current time and today's date in YYmmdd, too: |
|
# hardstatus alwayslastline " %c | %Y%m%d | %w" |
|
# |
|
# This will show today's date in mmdd and the current time, too: |
|
# hardstatus alwayslastline " %m%d %c | %w" |
|
# |
|
# combining all of these gives: |
|
# hardstatus alwayslastline "%{rw}%H%{wk}|%c|%M%d|%?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw%?" |
|
# |
|
# this uses a black background foreverything execpt for |
|
# the current window which is show on a white background. |
|
# hostname in red, clock in green, date in yellow: |
|
# hardstatus alwayslastline "%{rk}%H %{gk}%c %{yk}%M%d %{wk}%?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw%?" |
|
# |
|
# no "host:", "date:", or "time:" here. |
|
# instead, the info gets placed at 16%, 50%, and 80% so that it is |
|
# placed soemwhat in the middle of each of the three panels. |
|
# hardstatus alwayslastline "%{RY}%16=%H %33=%{YR}%50=%M%d %66=%{Gb}%80=%c%=" |
|
# |
|
# hardstatus alwayslastline "%{rk}%H %{gk}%c %{yk}%M%d %{wr} Load: %l %{wb} %w %{wk}%?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw%?" |
|
# hardstatus alwayslastline " [ %H ] %{wb} %c:%s | %d.%m.%Y %{wr} Load: %l %{wb} %w " |
|
# hardstatus alwayslastline " %H %{wb} %c:%s | %d.%m.%Y %{wr} Load: %l %{wk} %w " |
|
# hardstatus alwayslastline "%{rk}%H%{gk} | %c %{yk}%d.%m.%Y | %{rk} Load: %l %{wk} | %?%-Lw%?%{bw}%n*%f %t%?(%u)%?%{wk}%?%+Lw%?" |
|
# hardstatus alwayslastline "%{rk}host: %H %33=%{yk}date: %M%d %66=%{gk}time: %c:%s%=" |
|
# hardstatus alwayslastline "%{rk}host: %H %33=%{yk}date: %M%d %66=%{gk}time: %c%=" |
|
# |
|
# 030331 backtick is a new command in screen version >=3.9.15 |
|
# |
|
# 030330 use the hardstatus line to show the: |
|
# * latest news of the IT ticker at heise.de [german!]: |
|
# backtick 1 1200 1200 heise |
|
# * ipaddr of eth0 |
|
# backtick 2 1200 1200 ipadr |
|
# * external ipaddr of vpn-client |
|
# backtick 3 1200 1200 ipadr_vpn |
|
|
|
# hardstatus alwayslastline "%{bw}%1`%= " |
|
# hardstatus alwayslastline "%{bw}%1`%= %{+b ky}| %c:%s |%{+b rw} ip: %2` | vpn: %3`" |
|
# | | | |
|
# heise (script in ~/bin/) | ipadr_vpn (script in ~/bin/) |
|
# | |
|
# ipadr (script in ~/bin/) |
|
# |
|
# note: the use of ANSI color sequences is deprecated. |
|
# please upgrade to (at least) screen 3.9.13 |
|
# so you can make use of the color letters/names! |
|
# |
|
# "sorendition": set the colors for |
|
# the "messages" and "text marking" |
|
# (ie text you mark in copy mode): |
|
sorendition 10 99 # default! |
|
# sorendition 02 40 # green on black |
|
# sorendition 02 34 # yellow on blue |
|
# sorendition rw # red on white |
|
# sorendition kG # black on bold green |
|
# |
|
# ============================ |
|
# Password |
|
# ============================ |
|
# # # password SZnBqiqMtfa6k |
|
# WARNING!! Do NOT remove the comment |
|
# if you don't know what this does! |
|
# read on: |
|
# this commands sets the *internal* |
|
# password for the screen session. |
|
# if this is set then a "lock" command will |
|
# only let you in to the session after you |
|
# enter the user's account password and then |
|
# also the internal password for that session. |
|
# so this gives additional safety. |
|
# but if you forget the internal password |
|
# then you can also forget about the session - ok?! |
|
# |
|
# =============================================================== |
|
# Messages |
|
# =============================================================== |
|
# There are two kinds of messages: "activity" and "bell" |
|
# They are also the names of the commands that set the |
|
# respective messages. In every message there can be "meta |
|
# strings" which are replaced by values. A meta string starts |
|
# with a percent sign and is then followed by one |
|
# of the following letters: aAcCdDfFhHlmMnstuwWyY |
|
# The meta strings usually refer to the current |
|
# date and time or to a window title or number. |
|
# There are also some specials like embedded branches (with %?), |
|
# color codes (with %{xy}) and padding (with %=, %<, %>). |
|
# you can find their description in the manual in section |
|
# "STRING ESCAPES": |
|
# %% percent sign (the escape character itself) |
|
# %a either 'am' or 'pm' - according to the current time |
|
# %A either 'AM' or 'PM' - according to the current time |
|
# %c current time HH:MM in 24h format |
|
# %C current time HH:MM in 12h format |
|
# %d day number - number of current day |
|
# %D Day's name - the weekday name of the current day |
|
# %f flags of the window |
|
# %F sets %? to true if the window has the focus |
|
# %h hardstatus of the window |
|
# %H hostname of the system |
|
# %l current load of the system |
|
# %m month number |
|
# %M month name |
|
# %n window number |
|
# %s seconds |
|
# %t window title |
|
# %u all other users on this window |
|
# %w all window numbers and names. |
|
# %-w all window numbers up to the current window |
|
# %+w all window numbers after the current window |
|
# %W all window numbers and names except the current one |
|
# %y last two digits of the year number |
|
# %Y full year number |
|
# |
|
# Older versions of screen used a single '%' character |
|
# to display window titles - but since version 3.7 this is |
|
# obsoleted by '%n' and it will vanish in future releases. |
|
# So please update your screenrc to meet this convention! |
|
# |
|
# =============================================================== |
|
# "~" stands for the "bell" character |
|
# |
|
# use %n to display the window number and %t for its title: |
|
# activity "activity in window #%n title: %t~" |
|
# activity "activity in window #%n title: %t~" |
|
# activity 'Activity in window %n' # default |
|
# activity "%C -> %n%f %t activity!" |
|
activity "activity in %n (%t) [%w:%s]~" |
|
# |
|
# pass on the "beep" (CTRL-G) by adding a '~': |
|
# bell "%C -> %n%f %t bell!~" |
|
bell "bell in %n (%t) [%w:%s]~" |
|
|
|
# pow_detach_msg: Message shown when session |
|
# gets power detached. |
|
# pow_detach_msg "BYE" |
|
pow_detach_msg "Screen session of \$LOGNAME \$:cr:\$:nl:ended." |
|
# |
|
# vbell_msg: Message shown when the |
|
# "virtual bell" rings. |
|
vbell_msg " *beep* " |
|
# |
|
# ============================================================== |
|
# BIND bind - defaults |
|
# ============================================================== |
|
# The "bind" command assign keys to (internal) commands |
|
# SCREEN checks all the keys you type; you type the key |
|
# which is known as the "command character" then SCREEN |
|
# eats this key, too, and checks whether this key is |
|
# "bound" to a command. If so then SCREEN will execute it. |
|
# |
|
# The command "bind" allows you to chose which keys |
|
# will be assigned to the commands. |
|
# |
|
# Some commands are bound to several keys - |
|
# usually to both some letter and its corresponding |
|
# control key combination, eg the command |
|
# "(create) screen" is bound to both 'c' and '^C'. |
|
# |
|
# The following list shows the default bindings: |
|
# |
|
# break ^B b |
|
# clear C |
|
# colon : |
|
# copy ^[ [ |
|
# detach ^D d |
|
# digraph ^V |
|
# displays * |
|
# dumptermcap . |
|
# fit F |
|
# flow ^F f |
|
# focus ^I |
|
# hardcopy h |
|
# help ? |
|
# history { } |
|
# info i |
|
# kill K k |
|
# lastmsg ^M m |
|
# license , |
|
# log H |
|
# login L |
|
# meta x |
|
# monitor M |
|
# next ^@ ^N sp n |
|
# number N |
|
# only Q |
|
# other ^X |
|
# pow_break B |
|
# pow_detach D |
|
# prev ^H ^P p ^? |
|
# quit \ |
|
# readbuf < |
|
# redisplay ^L l |
|
# remove X |
|
# removebuf = |
|
# reset Z |
|
# screen ^C c |
|
# select " ' |
|
# silence _ |
|
# split S |
|
# suspend ^Z z |
|
# time ^T t |
|
# title A |
|
# vbell ^G |
|
# version v |
|
# width W |
|
# windows ^W w |
|
# wrap ^R r |
|
# writebuf > |
|
# xoff ^S s |
|
# xon ^Q q |
|
# ^] paste . |
|
# - select - |
|
# 0 select 0 |
|
# 1 select 1 |
|
# 2 select 2 |
|
# 3 select 3 |
|
# 4 select 4 |
|
# 5 select 5 |
|
# 6 select 6 |
|
# 7 select 7 |
|
# 8 select 8 |
|
# 9 select 9 |
|
# I login on |
|
# O login off |
|
# ] paste . |
|
# |
|
# =============================================================== |
|
# Key bindings |
|
# =============================================================== |
|
# Remove some default key bindings by binding |
|
# them to "nothing" (empty right-hand-side): |
|
# |
|
# bind . dumptermcap # default |
|
bind . |
|
# bind ^\ quit # default |
|
bind ^\ |
|
# bind \\ quit # default |
|
bind \\ |
|
# bind h |
|
# bind ^h ??? # default |
|
# bind ^h |
|
# bind } history # default |
|
# bind } |
|
# |
|
# And here are the default bind commands if you need them: |
|
# |
|
# bind A title |
|
# bind C clear |
|
# bind D pow_detach |
|
# bind F fit |
|
# bind H log |
|
# bind I login on |
|
# bind K kill |
|
# bind L login |
|
# bind M monitor |
|
# bind N number |
|
# bind O login off |
|
# bind Q only |
|
# bind S split |
|
# bind W width |
|
# bind X remove |
|
# bind Z reset |
|
# |
|
# 040126 To be able to select windows with n > 9 -> |
|
# press "C-a - #" instead of just "C-a #" |
|
bind - command -c select_1n |
|
bind -c select_1n 0 select 10 |
|
bind -c select_1n 1 select 11 |
|
bind -c select_1n 2 select 12 |
|
bind -c select_1n 3 select 13 |
|
bind -c select_1n 4 select 14 |
|
bind -c select_1n 5 select 15 |
|
bind -c select_1n 6 select 16 |
|
bind -c select_1n 7 select 17 |
|
bind -c select_1n 8 select 18 |
|
bind -c select_1n 9 select 19 |
|
bind -c select_1n - command -c select_2n |
|
bind -c select_2n 0 select 20 |
|
bind -c select_2n 1 select 21 |
|
bind -c select_2n 2 select 22 |
|
bind -c select_2n 3 select 23 |
|
bind -c select_2n 4 select 24 |
|
bind -c select_2n 5 select 25 |
|
bind -c select_2n 6 select 26 |
|
bind -c select_2n 7 select 27 |
|
bind -c select_2n 8 select 28 |
|
bind -c select_2n 9 select 29 |
|
bind -c select_2n - select - |
|
# |
|
# ============================================================== |
|
# KEY BINDING FAQ: |
|
# ============================================================== |
|
# FAQ: So many keys are bound to some command already - |
|
# which keys are unbound yet? Which are free for binding? |
|
# A: SCREEN does not have a command to show you |
|
# a table of currently unbound keys - sorry! |
|
# You simply have to read this setup file. ;-) |
|
# |
|
# Summary: Here is a table of the keys |
|
# which are not bound by default: |
|
# unbound: -B--E-G--J-L---P-R-TUV--Y- |
|
# bound: A-CD-F-HI-K-MNO-Q-S---WX-Z |
|
# |
|
# I suggest that you do not change the bindings for |
|
# 'H' ("log") and 'M' ("monitor") as they are *really* |
|
# useful and you might want to use them a lot; |
|
# in this case it is recommended to use |
|
# the defaults to avoid confusion. |
|
# personally, I use 'A' ("title") quite often, too. |
|
# |
|
# If you are using "split windows" |
|
# then you will also use the command |
|
# associated with the keys FQSX a lot, too - |
|
# so do not change their bindings, either! |
|
# |
|
# Anyway, I have bound the unbound uppercase letters |
|
# to start programs in windows directly, ie without |
|
# starting a new window with a shell within first. |
|
# This simply saves shells and thus saves RAM - |
|
# and also avoids that the title of windows is |
|
# the name of your shell. Also, you need not "exit" |
|
# from a shell when you are done with some program. |
|
# And when using "zombie mode" then the window will stay |
|
# and you can resurrect them with the CTRL-SPACE command. |
|
# cool! :-) |
|
# |
|
# enable "zombie mode": |
|
# zombie z |
|
# here the parameter 'z' defines the key |
|
# which makes a zombie window go away. |
|
# |
|
# ============================================================== |
|
# BIND and the Services: |
|
# ============================================================== |
|
# remove some stupid / dangerous key bindings |
|
bind k |
|
bind ^k |
|
bind . |
|
bind ^\ |
|
bind \\ |
|
bind ^h |
|
# bind h |
|
bind h hardcopy |
|
# make them better |
|
bind 'K' kill |
|
bind 'I' login on |
|
bind 'O' login off |
|
bind '}' history |
|
|
|
# I am using the uppercase letters to start programs/services: |
|
# |
|
# the idea: |
|
# bind <key> <command> |
|
# this binds the key to start a windows with <command> inside. |
|
# |
|
# the command "screen" starts a "window" - |
|
# and the default key is 'c' for "create". |
|
# (i know - this *is* confusing at first.) |
|
# with 'screen -t title" you can set a titlestring. |
|
# the number following is the window number to be used. |
|
# if the window number is already taken then |
|
# the least highest available number is used. |
|
# |
|
# |
|
# bind A title # default! |
|
# |
|
# BUUG - Berlin Unix User Group - read some news about Unix |
|
# bind B # unbound by default |
|
# bind B screen -t 'buug' 4 links www.buug.de |
|
# |
|
# CHEM - LinuxTag event in Chemnitz -- 2002-03-09 + 2002-03-10 |
|
# bind C screen -t 'CHEM' 9 links www.tu-chemnitz.de/linux/tag/ |
|
# bind C screen -t 'CIT' 9 links http://www.math.fu-berlin.de/~guckes/cit/ |
|
# bind C screen -t 'CIT' 9 links http://www.computerinfotag.de |
|
# NOTE: This overrides the default binding for the "clear" command. |
|
# |
|
# DICT - Dictionary English<->German |
|
# bind D pow_detach ! |
|
# bind D screen -t 'DICT' 4 links dict.tu-chemnitz.de |
|
# Note: this overrides the default binding for the |
|
# command "pow_detach". I hardly ever use that one. |
|
# |
|
# MUTT - Email User Agent |
|
# bind E # unbound by default |
|
bind M screen -t 'mail' 4 $HOME/bin/mutt_umlaute |
|
# see also: http://www.math.fu-berlin.de/~guckes/mutt/ |
|
# |
|
# FTP - File Transfer "Program" |
|
# bind F fit # default! |
|
# bind F screen -t 'ftp' 9 ncftp |
|
# see also: http://www.math.fu-berlin.de/~guckes/ncftp/ |
|
# |
|
# GOOGLE - Web Search Engine |
|
# bind G # unbound by default |
|
# notice: elinks is a better version of links -> get it @ http://elinks.or.cz/ |
|
bind G screen -t 'google' $BROWSER www.google.com |
|
# |
|
# HEISE - IT NewsTicker |
|
# bind H log # default! |
|
bind H screen -t HeiseTicker $BROWSER www.heise.de/newsticker/pda/data/paket4.html |
|
# bind A screen -t 'abook' abook |
|
# bind C screen -t 'cicq' centericq |
|
# bind E screen -t 'bitchx' bitchx mikap irc.openprojects.net |
|
bind E screen -t 'bitchx' bitchx mikap irc.debian.org |
|
bind L screen -t 'browser' $BROWSER |
|
# bind M screen -t 'mutt' mutt |
|
# bind N screen -t 'ncftp' ncftp |
|
# |
|
# Search in TU-Graz-Newsarchiv |
|
# bind T screen -t newsarchiv-suche $BROWSER http://newsarchiv.tugraz.at/search/ |
|
# |
|
# 030407 showman -> echo -n "What manpage?"; read X; man $X; screen -X eval 'focus bottom' remove |
|
# bindkey "^B" eval split "focus bottom" "screen $HOME/bin/showman" |
|
# |
|
# 030507 call "date" and write it to buffer so you are |
|
# able to insert it via screen->paste [bind paste to "<ctrl>+<a> <P>"!] |
|
# |
|
# $ cat $HOME/bin/showdate |
|
# date +%Y%m%d_%Hh%Mm%Ss > $HOME/.date; cat $HOME/.date | tr -d '\n' > .date; screen -X bufferfile $HOME/.date; screen -X readbuf |
|
# $ |
|
# |
|
# and now we bind it :) |
|
# |
|
# bindkey "^F" eval "screen $HOME/bin/showdate" |
|
# |
|
# NOTE: This overrides the default binding of the "hardcopy" command! |
|
# |
|
# IRC - International Relay Chat |
|
# bind I screen -t 'irc' 5 irc |
|
# bind I screen -t 'icq' 9 micq |
|
# see also: http://www.math.fu-berlin.de/~guckes/irc/ |
|
# |
|
# Feb 2002: Use it to search the Internet Movie DataBase (IMDB): |
|
# bind I screen -t 'IMDB' 9 links http://www.imdb.com/ |
|
# bind I screen -t 'IMDB' 9 links http://us.imdb.com/search/ |
|
# see also: http://www.math.fu-berlin.de/~guckes/berlinale/ |
|
# |
|
# bind J # unbound by default |
|
# |
|
# LYNX - web browser |
|
# bind L # unbound by default |
|
# bind L screen -t 'lynx' 4 lynx http://www.math.fu-berlin.de/~guckes/ |
|
# see also: http://www.math.fu-berlin.de/~guckes/lynx/ |
|
# see also: http://www.math.fu-berlin.de/~guckes/links/ |
|
# |
|
# bind M monitor # default! |
|
# |
|
# NN - newsreader |
|
# bind N screen -t 'nn' 3 nn |
|
# see also: http://www.math.fu-berlin.de/~guckes/nn/ |
|
# Get some news about the weather (LOWG = Graz/Austria; LOWK = Klagenfurt/Austria) |
|
bind N screen -t 'weather' $BROWSER http://weatherpixie.com/index.php?place=LOWG |
|
# bind N screen -t 'weather' $BROWSER http://weatherpixie.com/index.php?place=LOWK |
|
|
|
# |
|
# Paste - use 'P' instead of ']': |
|
# bind P # unbound by default |
|
bind P paste . |
|
|
|
# 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 [.] |
|
|
|
# The character ']' is hard to type on german keyboards, |
|
# as it requires the use of a yet another meta character "AltGR". |
|
# I prefer to use 'P' for "paste" because it is a letter |
|
# which is available at the same position both with the |
|
# US keyboards and keyboards with "Kraut layout" - |
|
# which I call" Krautboards", by the way. ;-) |
|
# bind ] paste . # default! |
|
# |
|
# bind R # unbound by default |
|
# |
|
# centericq - icq for terminal |
|
bind C screen -t 'icq' 3 centericq |
|
# |
|
# SLRN - newsreader |
|
# bind J screen -t 'slrn' 3 zsh -c bin/start_slrn_be.sh |
|
bind T screen -t 'slrn-tu' 2 zsh -c ~/bin/start_slrn_tu.sh |
|
bind L screen -t 'slrn-be' 1 zsh -c ~/bin/start_slrn_be.sh |
|
# see also: http://www.slrn.org http://slrn.sourceforge.net |
|
# and http://www.math.fu-berlin.de/~guckes/slrn/ |
|
# |
|
# bind T # unbound by default |
|
# bind T screen -t TRASH ssh trash.net |
|
# |
|
# bind U # unbound by default |
|
# bind U screen |
|
# |
|
# VIM - editor |
|
# bind V # unbound by default |
|
# bind V screen -t 'vim' 5 vim |
|
# Editing comes with email quite naturally - |
|
# so I have reserved window #1 for this. |
|
# http://www.math.fu-berlin.de/~guckes/vim/ |
|
# http://www.vim.org/ (which is just a mirror) |
|
# |
|
# X - a fast way to lock the current screen. |
|
bind X lockscreen |
|
# |
|
# bind Y exec !!! echo -n http://www.math.fu-berlin.de/~guckes/ |
|
# bind Y stuff http://www.math.fu-berlin.de/~guckes/ |
|
bind Y stuff http://www.michael-prokop.at/ |
|
# This pastes the address of my homepage to the process |
|
# in the current window. very nice - saves some typing. |
|
# and you don't have to have the functionality of |
|
# "abbreviating" in the processes themselves. :-) |
|
# |
|
# FUNCTION KEYS 11 12 |
|
bindkey -k -m F1 eval 'stuff "Y"' colon 'stuff "paste .^M"' #COPY AND PASTE LINE WITH F1 |
|
bindkey -k -m F2 eval 'stuff "W"' colon 'stuff "paste .^M"' #COPY AND PASTE WORD WITH F2 |
|
|
|
#END KEY |
|
bindkey -k -m kH eval 'stuff "Y"' 'stuff " "' colon 'stuff "paste .^M^M"' # paste the line with END |
|
bindkey -m "^[O2F" eval 'stuff "W"' 'stuff " "' colon 'stuff "paste .^M^M"' # paste a word with SHIFT-END in COPY mode |
|
|
|
# 030511 Some usefull abbreviations |
|
bindkey -t ROFL stuff *ROFL* |
|
bindkey -t °web stuff "www.michael-prokop.at" |
|
# 030511 Workaround for stupid machines without xmodmap ;-) |
|
bindkey -t °a stuff "ä" |
|
bindkey -t °A stuff "Ä" |
|
bindkey -t °o stuff "ö" |
|
bindkey -t °O stuff "Ö" |
|
bindkey -t °u stuff "ü" |
|
bindkey -t °U stuff "Ü" |
|
bindkey -t °s stuff "ß" |
|
# |
|
# =============================================================== |
|
# BIND Examples: |
|
# =============================================================== |
|
# You can also paste the values of |
|
# SCREEN's environment variables: |
|
# bind E stuff $EMAIL |
|
# bind U stuff $URL |
|
# bind I stuff $ICQ |
|
# |
|
# =============================================================== |
|
# BINDKEY: |
|
# =============================================================== |
|
# [TODO briefly explain the difference between BIND and BINDKEY] |
|
# |
|
# use the PgUp and PgDn keys to enter copy mode |
|
# and page through the window backlog: |
|
# bindkey -k kP copy |
|
# |
|
# Use the function keys F7 and F8 |
|
# to cycle backwards/forwards in |
|
# the list of existing windows: |
|
# bindkey -k k7 prev |
|
# bindkey -k k8 next |
|
# |
|
# make the "kb" send a backspace (CTRL-H:) |
|
# bindkey -d kb stuff ^H |
|
# WARNING: this does not work as advertised. |
|
# it eats the "kb" when typing "dankbar" for example. :-( |
|
# |
|
# NumPad keybindings: |
|
# ^[Oo / resize = |
|
# ^[Oj * resize max |
|
# ^[Om - resize -2 |
|
# ^[Ok + resize +2 |
|
# ^[OM Enter |
|
# |
|
# =============================================================== |
|
# At the very end... show the current version and say hello :-) |
|
# =============================================================== |
|
# Briefly show the version number of this starting |
|
# screen session - but only for *one* second: |
|
msgwait 1 |
|
version |
|
# change back to showing messages |
|
# for duration of two seconds: |
|
msgwait 2 |
|
# |
|
# Welcome the user: |
|
echo "welcome BoFH - could you please kill all DAUs?" |
|
# |
|
# Tell Vim to use a "tabstop" of '8', |
|
# ie expands TABs to the next column |
|
# whose number is a multiple of eight. |
|
# EOF vim: ts=8 et nowrap |