rj1
log | files | refs

tmux.conf (3591B) - raw


set -g default-terminal "xterm-256color"
set -ag terminal-overrides ",xterm-256color:RGB"
set-option -g set-titles on
set-option -g set-titles-string '#S: #W'
set-window-option -g mode-keys vi

# set split keys, splits open in same dir as current
bind-key "'" split-window -v -c '#{?pane_path,#{pane_path},#{pane_current_path}}'
bind-key ";" split-window -h -c '#{?pane_path,#{pane_path},#{pane_current_path}}'

# switch panes w/ vimkeys
bind-key h select-pane -L
bind-key j select-pane -D
bind-key k select-pane -U
bind-key l select-pane -R

# resize panes w/ vimkeys
bind-key -T copy-mode-vi C-h resize-pane -L 1
bind-key -T copy-mode-vi C-j resize-pane -D 1
bind-key -T copy-mode-vi C-k resize-pane -U 1
bind-key -T copy-mode-vi C-l resize-pane -R 1

# fast window switching
bind w display-popup -E "tmux list-windows | cut -d ' ' -f 1-2 | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | cut -d \":\" -f 1 | xargs tmux select-window -t"

# use C-a prefix
set-option -g prefix C-a
unbind-key C-a
bind-key C-a send-prefix

# copy-mode
bind a copy-mode

# kill window
bind X kill-window

# 1 > 0
set -g base-index 1
set -g pane-base-index 1

# some good settings
set-option -g renumber-windows on # reindex when closing window
set -s escape-time 0 # fix vi mode delay
set -g history-limit 50000 # increase scrollback buffer size
set -g display-time 4000 # tmux messages are displayed for 4 seconds
setw -g aggressive-resize on # super useful when using "grouped sessions" and multi-monitor setup
set -g focus-events on # neovim likes this
set -g mouse on # enable mouse

# tmux fingers
unbind-key f
set -g @fingers-key f
set -g @fingers-shift-action ':open:'
run-shell ~/.config/tmux/tmux-fingers/tmux-fingers.tmux

# tmux theme
set-option -gq "status" "on"
set-option -gq "status-justify" "left"

set-option -gq "status-left-length" "100"
set-option -gq "status-right-length" "100"
set-option -gq "status-right-attr" "none"

set-option -gq "message-fg" "#aab2bf"
set-option -gq "message-bg" "#282c34"

set-option -gq "message-command-fg" "#aab2bf"
set-option -gq "message-command-bg" "#282c34"

set-option -gq "status-attr" "none"
set-option -gq "status-left-attr" "none"

set-window-option -gq "window-status-fg" "#282c34"
set-window-option -gq "window-status-bg" "#282c34"
set-window-option -gq "window-status-attr" "none"

set-window-option -gq "window-status-activity-bg" "#282c34"
set-window-option -gq "window-status-activity-fg" "#282c34"
set-window-option -gq "window-status-activity-attr" "none"

set-window-option -gq "window-status-separator" ""

set-option -gq "window-style" "fg=#aab2bf"
set-option -gq "window-active-style" "fg=#aab2bf"

set-option -gq "pane-border-style" "fg=#282c34"
set-option -gq "pane-active-border-style" "bg=default,fg=#98c379"

set-option -gq "display-panes-active-colour" "#e5c07b"
set-option -gq "display-panes-colour" "#61afef"

set-option -gq "status-bg" "#282c34"
set-option -gq "status-fg" "#aab2bf"

set-option -gq "status-right" ""
set-option -gq "status-left" "#[fg=#282c34,bg=#98c379,bold] #S #{prefix_highlight}#[fg=#98c379,bg=#282c34,nobold,nounderscore,noitalics]"

set-option -gq "window-status-format" "#[fg=#282c34,bg=#282c34,nobold,nounderscore,noitalics]#[fg=#aab2bf,bg=#282c34] #I  #W #[fg=#282c34,bg=#282c34,nobold,nounderscore,noitalics]"
set-option -gq "window-status-current-format" "#[fg=#282c34,bg=#3e4452,nobold,nounderscore,noitalics]#[fg=#aab2bf,bg=#3e4452,nobold] #I  #W #[fg=#3e4452,bg=#282c34,nobold,nounderscore,noitalics]"

set-window-option -g mode-style "bg=#98c379,fg=#282c34"