-
Notifications
You must be signed in to change notification settings - Fork 1
/
tmux.conf
61 lines (45 loc) · 2.58 KB
/
tmux.conf
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# make sure tmux has access to my user session (so pbcopy/pbpaste work)
set-option -g default-command "if [[ -e /usr/local/bin/reattach-to-user-namespace ]]; then exec reattach-to-user-namespace -l zsh; else exec zsh --login; fi"
# hot reload
bind-key C-r source-file ~/.tmux.conf \; display 'Reloaded ~/.tmux.conf'
# TODO: rename brightgreen and brightblue with better names
source-file ~/.dotfiles/tmux/tmuxcolors-dark.conf
set-option -g status-interval 0
# this color may get overridden by profile
set-environment -g status-letter ' '
set-environment -g status-accent-color brightblue
set-environment -g status-prefix-color red
# include current profile
source-file -q ~/.current/tmux.conf
set -g status-left '#[fg=white,bg=#{?client_prefix,#{status-prefix-color},#{status-accent-color}}]'
set -ga status-left ' #S #[fg=#{?client_prefix,#{status-prefix-color},#{status-accent-color}},bg=default]#[default]'
setw -g window-status-format '#[default] #I #[bold]#W#[default] '
setw -g window-status-current-format '#[fg=black,bg=brightgreen]#[fg=white,bg=brightgreen] #I #[fg=white,bg=brightgreen]#W #[fg=brightgreen,bg=black]'
set -g status-right '#[fg=brightgreen,bg=black]#[fg=brightblue,bg=brightgreen]'
set -ga status-right ' %m-%d %H:%M #[fg=yellow]#(~/.tmux/battery) #[fg=blue,bg=brightgreen]'
set -ga status-right ' #[fg=#{status-accent-color},bg=brightgreen]'
set -ga status-right '#[fg=white,bg=#{status-accent-color}] #[bold]#{status-letter} '
# Ctrl-Minus (C-_) works on mac and gnome-terminal (must hold shift, meh), but not xterm
# https://unix.stackexchange.com/a/158298
# https://stackoverflow.com/a/30681536
unbind-key C-b
set-option -g prefix C-s
bind-key C-s send-prefix
# tell vim we do color
set-option -g default-terminal "screen-256color"
# don't delay my escape
set-option -s escape-time 0
set-option -g base-index 1
# splits
bind-key = split-window -h
bind-key / split-window -v
# vim/tmux navigation
# http://www.codeography.com/2013/06/19/navigating-vim-and-tmux-splits
bind -n C-h run "(tmux display-message -p '#{pane_title}' | grep -iq vim && tmux send-keys C-h) || tmux select-pane -L"
bind -n C-j run "(tmux display-message -p '#{pane_title}' | grep -iq vim && tmux send-keys C-j) || tmux select-pane -D"
bind -n C-k run "(tmux display-message -p '#{pane_title}' | grep -iq vim && tmux send-keys C-k) || tmux select-pane -U"
bind -n C-l run "(tmux display-message -p '#{pane_title}' | grep -iq vim && tmux send-keys C-l) || tmux select-pane -R"
set-window-option -g aggressive-resize on
set -g mouse on
set-window-option -g mode-keys vi
set-option -g status-keys vi