mirror of
https://github.com/rwxrob/dot
synced 2024-11-14 18:12:56 +00:00
111 lines
2.8 KiB
Plaintext
111 lines
2.8 KiB
Plaintext
# Configured by Rob Muhlestein (rwxrob.live)
|
|
# This file is copyright free (public domain).
|
|
|
|
# fix accidently typing accent characters, etc.
|
|
# by forcing the terminal to not wait around
|
|
# (every single tmux file should have this)
|
|
set -sg escape-time 0
|
|
|
|
# change default meta key to same as screen
|
|
unbind C-b
|
|
unbind C-a
|
|
set -g prefix C-a
|
|
|
|
# form vim/tmux d/y buffer sync
|
|
set -g focus-events
|
|
|
|
# use a different prefix for nested
|
|
bind-key -n C-y send-prefix
|
|
|
|
# add double-tap meta key to toggle last window
|
|
bind-key C-a last-window
|
|
|
|
# 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 new window for streaming
|
|
unbind c
|
|
bind c new-window \; split-window -h \; select-pane -t 2 \; resize-pane -x 18 \; 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'"
|
|
|
|
# reload configuration
|
|
bind -r r source-file ~/.tmux.conf
|
|
|
|
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-right ""
|
|
|
|
#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 "#(head -1 ~/.status) "
|
|
#set -g status-right-length 50
|
|
#set -g status-right "%a, %b %-e, %Y, %-l:%M:%S%p %Z%0z"
|
|
#set -g status-right-style "fg=#928374,bold"
|
|
#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
|