-
Star
(365)
You must be signed in to star a gist -
Fork
(112)
You must be signed in to fork a gist
-
-
Save joaopizani/2718397 to your computer and use it in GitHub Desktop.
# 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 |
This is really great, thanks! Who knew screen
could be so well-configured? XD
Great configuration! Thanks!
I have just find out that lines 68 and 69 (Lines) won't work for me.
Instead of them, I had to conffigure ^[[1;5R and ^[[1;5S keys.
So, it would be:
bindkey "^[[1;5R" layout prev
bindkey "^[[1;5S" layout next
Thanks a lot for the configuration!!!
I also use defutf8 on
in my .screenrc
, helps a lot if you need to work with utf8
Instead of changing the window numbering to start at 1 I added
bind ` select 0
That key is left of 1 on my keyboard and allows Keyboard position to match the tabs in screen.
@fevisera Tip: it's possible to bind F2 without using terminal-specific sequences, e.g. replace
bindkey "^[OQ" eval "command -c rsz" # enter resize mode
with
bindkey -k k2 eval "command -c rsz" # enter resize mode
because k2
is the termcap name for F2, see man termcap or man terminfo.
Every terminal will set its termcap and screen will use it, no need to hardcode the terminal-specific sequence.
Shift-F2 and Ctrl-F2 are less obvious but do exist in termcap/terminfo:
- Shift-F2 is equivalent to F14 (F2 + 12 function keys), so is
F4
in termcap (bindkey -k
) - Ctrl-F2 is equivalent to F26 (F2 + 12 + 12 function keys), so is
FG
in termcap (bindkey -k
)
Ctrl-Shift-F2 is F38 though, I don't know why.
Amazing configuration man! Thanks a lot! It is helping me a lot to use screen on the iPad with iSH.