Files
dots/files/tmux/.tmux.conf
2023-11-28 11:25:41 +01:00

95 lines
2.8 KiB
Bash
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# tmux.conf
# ~ M. Thomas
######### Terminal Setup ##########
# set default terminal
set -g default-terminal "tmux-256color"
# enable true color terminal
set -ga terminal-overrides ",*256col*:Tc,alacritty:Tc"
######### Keybinds ##########
# new panes (open with current path)
bind-key -n M-v split-window -h -c "#{pane_current_path}"
bind-key -n M-s split-window -v -c "#{pane_current_path}"
# pane selection
bind-key -n M-h select-pane -L
bind-key -n M-j select-pane -D
bind-key -n M-k select-pane -U
bind-key -n M-l select-pane -R
# pane / window modifications
bind-key -n M-z resize-pane -Z
# use `set automatic-rename on` to reset
bind-key -n M-, command-prompt -p "Rename window:" "rename-window '%%'"
bind-key -n M-< set automatic-rename on
# new windows
bind-key -n M-c new-window -c "#{pane_current_path}"
# navigate windows
bind-key -n M-1 select-window -t 1
bind-key -n M-2 select-window -t 2
bind-key -n M-3 select-window -t 3
bind-key -n M-4 select-window -t 4
bind-key -n M-5 select-window -t 5
bind-key -n M-6 select-window -t 6
bind-key -n M-7 select-window -t 7
bind-key -n M-8 select-window -t 8
bind-key -n M-9 select-window -t 9
# swap panes
bind-key -n 'M-H' swap-pane -D
bind-key -n 'M-L' swap-pane -U
# move panes to and from windows
bind-key -n 'M-t' command-prompt -p "Send pane to:" "join-pane -t :'%%'"
bind-key -n 'M-!' select-layout even-horizontal
bind-key -n 'M-@' select-layout even-vertical
# resize panes
bind-key -n 'M-Left' resize-pane -L 20
bind-key -n 'M-Right' resize-pane -R 20
bind-key -n 'M-Up' resize-pane -U 20
bind-key -n 'M-Down' resize-pane -D 20
########## General ##########
# alias
set -s command-alias[1] respawn='respawn-pane -k'
# make escape bindings of programs work in tmux
set -s escape-time 5
# renumber windows, when one gets closed
set-option -g renumber-windows on
# enable mouse
set-option -g mouse on
# start pane index at 1
set -g base-index 1
setw -g pane-base-index 1
# set terminal window title (update every second)
set-option -g status-interval 1
set-option -g set-titles on
set-option -g set-titles-string "#H: #W"
########## Styling ##########
set -g status-position top
set -g status-justify "left"
set -g status "on"
set -g message-command-style "fg=#829181,bg=#e6e2cc"
set -g pane-active-border-style "fg=#93b259"
set -g status-style "none,bg=#e6e2cc"
set -g message-style "fg=#829181,bg=#e6e2cc"
set -g pane-border-style "fg=#e9e8d2"
set -g status-right-length "100"
set -g status-left-length "100"
setw -g window-status-activity-style "none,fg=#93b259,bg=#e6e2cc"
setw -g window-status-style "none,fg=#939f91,bg=#e6e2cc"
set -g status-left "#[fg=#939f91,bg=#e6e2cc]  "
set -g status-right "#[fg=#939f91,bg=#e6e2cc] #H  "
setw -g window-status-format " #I#W#{?window_zoomed_flag,  , }"
setw -g window-status-current-format "#[fg=#93b259,bold] #I#W#{?window_zoomed_flag,  , }"