Update tmux config
parent
0307be8d2c
commit
80e381f62d
|
@ -0,0 +1 @@
|
||||||
|
set -g status-style bg=default
|
|
@ -0,0 +1 @@
|
||||||
|
set -g status-style bg=blue,fg=black;
|
|
@ -1,62 +1,77 @@
|
||||||
# General
|
# statusbar
|
||||||
|
setw -g monitor-activity on
|
||||||
|
set -g visual-activity on
|
||||||
|
set -g history-limit 100000
|
||||||
|
set -g default-command "${SHELL}"
|
||||||
|
setw -g aggressive-resize on
|
||||||
|
set -sg escape-time 0
|
||||||
|
|
||||||
unbind C-b
|
# keybindings
|
||||||
set -g prefix C-a
|
# NOTE: I intend to use defaults whenever feasible
|
||||||
bind-key C-a send-prefix
|
# - my prefix key is still C-b
|
||||||
set -g base-index 1
|
# - however, I do use vi mode
|
||||||
|
|
||||||
setw -g monitor-activity on
|
|
||||||
set -g status-keys vi
|
|
||||||
setw -g mode-keys vi
|
setw -g mode-keys vi
|
||||||
set -g history-limit 10000
|
set -g status-keys vi
|
||||||
|
bind r source-file ~/.config/tmux/tmux.conf # reload tmux conf
|
||||||
set-window-option -g automatic-rename on
|
# Splits
|
||||||
set-option -g set-titles on
|
|
||||||
set-option -sg escape-time 10
|
|
||||||
|
|
||||||
# Minimal status bar
|
|
||||||
set -g status-left ''
|
|
||||||
set -g status-right ''
|
|
||||||
|
|
||||||
bind r source-file ~/.config/tmux/tmux.conf # reload tmux conf
|
|
||||||
|
|
||||||
# Keybindings
|
|
||||||
|
|
||||||
# Split
|
|
||||||
unbind v
|
unbind v
|
||||||
unbind s
|
unbind s
|
||||||
unbind % # vsplit
|
unbind % # vsplit
|
||||||
unbind '"' # hsplit
|
unbind '"' # hsplit
|
||||||
bind v split-window -h -c "#{pane_current_path}"
|
bind v split-window -h -c "#{pane_current_path}"
|
||||||
bind s split-window -v -c "#{pane_current_path}"
|
bind s split-window -v -c "#{pane_current_path}"
|
||||||
# Split navigate
|
bind -r h select-pane -L
|
||||||
bind -r h select-pane -L
|
bind -r j select-pane -D
|
||||||
bind -r j select-pane -D
|
bind -r k select-pane -U
|
||||||
bind -r k select-pane -U
|
bind -r l select-pane -R
|
||||||
bind -r l select-pane -R
|
bind -r H resize-pane -L 4
|
||||||
# Split resize
|
bind -r J resize-pane -D 4
|
||||||
bind -r H resize-pane -L 4
|
bind -r K resize-pane -U 4
|
||||||
bind -r J resize-pane -D 4
|
bind -r L resize-pane -R 4
|
||||||
bind -r K resize-pane -U 4
|
|
||||||
bind -r L resize-pane -R 4
|
|
||||||
|
|
||||||
# Theming
|
bind-key -T root F1 select-window -t 1
|
||||||
|
bind-key -T root F2 select-window -t 2
|
||||||
|
bind-key -T root F3 select-window -t 3
|
||||||
|
bind-key -T root F4 select-window -t 4
|
||||||
|
bind-key -T root F5 select-window -t 5
|
||||||
|
bind-key -T root F6 select-window -t 6
|
||||||
|
bind-key -T root F7 select-window -t 7
|
||||||
|
bind-key -T root F8 select-window -t 8
|
||||||
|
bind-key -T root F9 select-window -t 9
|
||||||
|
|
||||||
set -g pane-border-style fg=#222222
|
# 1-based indexing makes most sense for keyboard layouts (where number row start at 1)
|
||||||
set -g pane-active-border-style fg=#222222
|
set -g base-index 1
|
||||||
set -g display-panes-active-colour blue
|
set -g pane-base-index 1
|
||||||
set -g default-terminal "tmux-256color"
|
setw -g automatic-rename
|
||||||
set -g message-style bg=#111111,fg=#aaaaaa
|
|
||||||
set -g status-interval 1
|
|
||||||
|
|
||||||
# statusbar
|
# statusbar
|
||||||
set -g status-position bottom
|
set -g status-position top
|
||||||
set -g window-status-separator ''
|
set -g status-left-length 20
|
||||||
set -g status-style 'bg=#111111 fg=#aaaaaa dim'
|
set -g window-status-separator ""
|
||||||
set -g status-left ''
|
%if "#{==:#{host},desktop-arch}"
|
||||||
set -g status-right '#[fg=black,bg=#aaaaaa] #(task status:pending count) #(echo "☐") '
|
set -g status-left "#[bg=colour235,fg=colour255] #S #[fg=colour235,bg=default] "
|
||||||
setw -g window-status-current-style 'fg=black bg=#aaaaaa'
|
set -g status-right ""
|
||||||
setw -g window-status-current-format ' #I:#W#F '
|
%else
|
||||||
setw -g window-status-style 'bg=#111111 fg=#aaaaaa'
|
set -g status-left '#h '
|
||||||
setw -g window-status-format ' #I:#W#F '
|
set -g status-right '#(uptime | cut -f 4-5 -d " " | cut -f 1 -d ",") %a%l:%M:%S %p %Y-%m-%d'
|
||||||
setw -g window-status-activity-style 'fg=#aaaaaa bg=#111111'
|
%endif
|
||||||
|
|
||||||
|
# theming
|
||||||
|
%if "#{==:#{host},desktop-arch}"
|
||||||
|
set -g default-terminal "tmux-256color"
|
||||||
|
setw -g window-status-style fg=colour244,bg=default
|
||||||
|
setw -g window-status-current-style fg=colour232,bg=default,bold
|
||||||
|
set -g message-style fg=colour232,bg=default
|
||||||
|
setw -g clock-mode-colour colour235
|
||||||
|
set -g status-style bg=default
|
||||||
|
set -g pane-border-style fg=#cccccc
|
||||||
|
set -g pane-active-border-style fg=#555555
|
||||||
|
set -g message-style bg=#cccccc,fg=#000000
|
||||||
|
%endif
|
||||||
|
|
||||||
|
set-hook -g after-new-session 'if -F "#{==:#{session_name},ssh}" "source ${XDG_CONFIG_HOME}/tmux/hooks/tmux.ssh.conf" "source ${XDG_CONFIG_HOME}/tmux/hooks/tmux.regular.conf"'
|
||||||
|
|
||||||
|
# Vi copypaste mode
|
||||||
|
if-shell "test '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -ge 4 \)'" 'bind-key -Tcopy-mode-vi v send -X begin-selection; bind-key -Tcopy-mode-vi y send -X copy-selection-and-cancel'
|
||||||
|
if-shell '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -lt 4\) -o #{$TMUX_VERSION_MAJOR} -le 1' 'bind-key -t vi-copy v begin-selection; bind-key -t vi-copy y copy-selection'
|
||||||
|
if-shell '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -lt 2\) -o #{$TMUX_VERSION_MAJOR} -le 1' 'set-option -g status-utf8 on'
|
||||||
|
|
Loading…
Reference in New Issue