From 7f8cc1f0118c881f7a280b71fbef245123fea854 Mon Sep 17 00:00:00 2001 From: Knut Ahlers Date: Thu, 21 Jul 2016 15:40:25 +0200 Subject: [PATCH] add tmux / screen config --- .screenrc | 42 +++++++++++++++++++++ .tmux.conf | 108 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 150 insertions(+) create mode 100644 .screenrc create mode 100644 .tmux.conf diff --git a/.screenrc b/.screenrc new file mode 100644 index 0000000..2dc33a8 --- /dev/null +++ b/.screenrc @@ -0,0 +1,42 @@ +startup_message off +#caption always "%-Lw%{= BW}%50>%n%f* %t%{-}%+Lw%< %{=b BW} %H %{-} %l %c %d/%m/%Y" +caption always "%{cK}$LOGNAME %{bK}(%d %M %Y, %c) %{-}%{bW} %-w%{bW}%50>%{= wb}%n%f %t%{-}%+w%< %{-}" +bindkey ^[[1;5D prev +bindkey ^[[1;5C next +bindkey ^N screen +bindkey ^T title +#bindkey ^[[5~ +autodetach on +defscrollback 65000 + +#bindkey -k F1 select 0 ## F11 = screen 0... avoid this screen :/ +#bindkey -k k1 select 1 ## F1 = screen 1 +#bindkey -k k2 select 2 ## F2 = screen 2 +#bindkey -k k3 select 3 ## F3 = screen 3 +#bindkey -k k4 select 4 ## F4 = screen 4 +##bindkey -k k5 select 5 ## F5 = screen 5 +#bindkey -k k6 select 6 ## F6 = screen 6 +#bindkey -k k7 select 7 ## F7 = screen 7 +#bindkey -k k8 select 8 ## F8 = screen 8 +#bindkey -k k9 select 9 ## F9 = screen 9 +#bindkey -k k0 select 10 # F10 = screen 10 +#bindkey -k F2 command ## F12 = do a command + +bindkey ^[[1;2P select 1 # F1 +bindkey ^[[1;2Q select 2 # F2 +bindkey ^[[1;2R select 3 # F3 +bindkey ^[[1;2S select 4 # F4 +bindkey ^[[15;2~ select 5 # F5 +bindkey ^[[17;2~ select 6 # F6 +bindkey ^[[18;2~ select 7 # F7 +bindkey ^[[19;2~ select 8 # F8 +bindkey ^[[20;2~ select 9 # F9 +bindkey ^[[21;2~ select 10 # F10 +bindkey ^[[23;2~ select 0 # F11 +bindkey ^[[24;2~ command # F12 + +shell -bash ## Bash is a rather nice shell. ## +#shelltitle "$ |" ## Blank shell title ## +shelltitle ': |bash' +defmonitor on ## Turn monitoring on (see 'activity') ## +activity "<%n>" ## Let you know when stuff happens! ## diff --git a/.tmux.conf b/.tmux.conf new file mode 100644 index 0000000..64064d3 --- /dev/null +++ b/.tmux.conf @@ -0,0 +1,108 @@ +# status bar +set-option -g status-utf8 on + +# https://github.com/seebi/tmux-colors-solarized/blob/master/tmuxcolors-256.conf +set-option -g status-bg colour235 #base02 +set-option -g status-fg colour136 #yellow +set-option -g status-attr default + +# default window title colors +set-window-option -g window-status-fg colour244 #base0 +set-window-option -g window-status-bg default +#set-window-option -g window-status-attr dim + +# active window title colors +#set-window-option -g window-status-current-fg colour166 #orange +set-window-option -g window-status-current-fg black #orange +set-window-option -g window-status-current-bg default +#set-window-option -g window-status-current-attr bright + +# pane border +set-option -g pane-border-fg colour235 #base02 +set-option -g pane-active-border-fg colour240 #base01 + +# message text +set-option -g message-bg colour235 #base02 +set-option -g message-fg colour166 #orange + +# pane number display +set-option -g display-panes-active-colour colour33 #blue +set-option -g display-panes-colour colour166 #orange +# clock +set-window-option -g clock-mode-colour green #green + + +set -g status-interval 1 +set -g status-justify left +set -g status-left-length 40 +set -g status-right-length 140 +set -g status-left '#[fg=green]#H#[default] ' +set -g status-right '#[fg=white,bg=red]#(tmux-reboot-required)#[default] #[fg=red,dim,bg=default]#(uptime | cut -f 4-5 -d " " | cut -f 1 -d ",") #[fg=white,bg=default]%a, %H:%M:%S#[default] #[fg=blue,bright]%Y-%m-%d (KW %V) ' + +# C-b is not acceptable -- Vim uses it +set-option -g prefix C-a +unbind C-b + +# Allows us to use C-a a to send commands to a TMUX session inside +# another TMUX session +bind C-a send-prefix + +# Start numbering at 1 +set -g base-index 1 + +# Allows for faster key repetition +set -s escape-time 0 + +# Rather than constraining window size to the maximum size of any client +# connected to the *session*, constrain window size to the maximum size of any +# client connected to *that window*. Much more reasonable. +setw -g aggressive-resize on + +# Activity monitoring +setw -g monitor-activity on +set -g visual-activity on + +# Highlight active window +set-window-option -g window-status-current-bg green + +# Vi copypaste mode +set-window-option -g mode-keys vi +bind-key -t vi-copy 'v' begin-selection +bind-key -t vi-copy 'y' copy-selection + +# hjkl pane traversal +bind h select-pane -L +bind j select-pane -D +bind k select-pane -U +bind l select-pane -R + +# reload config +bind r source-file ~/.tmux.conf \; display-message "Config reloaded..." + +# auto window rename +set-window-option -g automatic-rename + +# color +set -g default-terminal "screen-256color" + +# Pane switching with Alt+arrow +bind -n M-Left select-pane -L +bind -n M-Right select-pane -R +bind -n M-Up select-pane -U +bind -n M-Down select-pane -D + +# Mouse stuff +set -g mouse on +bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'copy-mode -e'" + +# I want to use Shift+Arrow in VIM +# http://superuser.com/questions/401926/how-to-get-shiftarrows-and-ctrlarrows-working-in-vim-in-tmux +set-window-option -g xterm-keys on + +set -g pane-base-index 1 + +bind C-y run "tmux save-buffer - | redpaste set" + +# SSH Agent +set -g update-environment -r +setenv -g SSH_AUTH_SOCK $HOME/.ssh/ssh_auth_sock