rwxrob-dot/tmux/.tmux.conf
2023-08-23 04:41:35 -04:00

115 lines
2.9 KiB
Plaintext

# Configured by Rob Muhlestein (rwxrob.tv)
# This file is copyright free (public domain).
# change default meta key to same as screen
unbind C-b
unbind C-a
set -g prefix C-a
# turn pane sync on/off
bind -r y setw synchronize-panes
# reload configuration
bind -r r source-file ~/.tmux.conf
# add double-tap meta key to toggle last window
bind-key C-a last-window
# use a different prefix for nested
bind-key -n C-y send-prefix
# pane colors and display
# create more intuitive split key combos (same as modern screen)
unbind |
bind | split-window -h
bind '\' split-window -h
bind 'C-\' split-window -h
unbind -
bind - split-window -v
unbind _
bind _ split-window -v
# kill current window and all panes
bind-key & kill-window
# vi for copy mode
setw -g mode-keys vi
# vi for command status
set -g status-keys vi
# vi keys to resize
bind -r C-k resize-pane -U 1
bind -r C-j resize-pane -D 1
bind -r C-h resize-pane -L 1
bind -r C-l resize-pane -R 1
# vi keys to navigate panes
bind -r k select-pane -U
bind -r j select-pane -D
bind -r h select-pane -L
bind -r l select-pane -R
# customize create new window for streaming
unbind C-c
bind C-c new-window \; split-window -h \; select-pane -t 2 \; resize-pane -x 26 \; send "blankpane" Enter \; select-pane -t 1
# avoid cursor movement messing with resize
set -g repeat-time 200
# colors, clock, and stuff
#set -g default-terminal "xterm-256color" # works, but oh so wrong
#set -ga terminal-overrides ",xterm-256color*:Tc"
set -g default-terminal "screen-256color"
set -g clock-mode-style 12
setw -g clock-mode-colour cyan
set -g base-index 1
setw -g pane-base-index 1
# die, die, die (just be careful, right next to C-c)
# color the pane borders nearly invisible
# (when not using hacked tmux without them)
set -g pane-border-style "fg=#171717"
set -g pane-active-border-style "fg=#171717"
# color of the window selection background
set -g mode-style "bg=black"
# very unique Mac bug
if-shell "type 'reattach-to-user-namespace' >/dev/null" "set -g default-command 'reattach-to-user-namespace -l $SHELL'"
set -g status-style "fg=#665c54"
set -g status-bg default
set -g status-position top
set -g status-interval 1
set -g status-left ""
#set -g status-left-length 78
#set -g status-left-style "fg=#928374,bold,reverse"
#set -g status-left-style "fg=#928374"
#set -g status-left-style "fg=brightwhite"
#set -g status-left "#(now) "
#set -g status-left "#(head -1 ~/.status) "
#set -g status-right "%a, %b %-e, %Y, %-l:%M:%S%p %Z%0z"
#set -g status-right-style "fg=#928374,bold"
set -g status-right-length 50
set -g status-right "#(pomo)"
#set -g window-status-format ""
#set -g window-status-current-format ""
set -g message-style "fg=red"
# disable status
#set -g status off
set -g status on
# fix accidently typing accent characters, etc.
# by forcing the terminal to not wait around
#set -sg escape-time 0
# form vim/tmux d/y buffer sync
set -g focus-events