forked from richo/dotfiles
-
Notifications
You must be signed in to change notification settings - Fork 5
/
tmux.conf
117 lines (97 loc) · 3.34 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
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
set-option -g prefix C-a
unbind-key C-b
bind-key a send-prefix
# TODO
# Finish mapping up all keys
# Learn how splits work
# WISHLIST
# Ideally, update the terminal title/hit the wm for activity on alert
# Statusline
set-window-option -g mode-keys vi # vi key
set-option -g status-keys vi
set -g default-terminal "screen-256color"
# What's the point of vi keys without pane movement?
bind l select-pane -R
bind k select-pane -U
bind j select-pane -D
bind h select-pane -L
bind < resize-pane -L 2
bind > resize-pane -R 2
bind - resize-pane -D 2
bind + resize-pane -U 2
bind ` next-layout
set-window-option -g utf8 on # utf8 support
set-window-option -g mode-mouse off # disable mouse
# copy mode to escape key
bind y copy-mode
bind ] paste-buffer
bind-key ^] send-keys Escape ":set paste\ri" \; paste-buffer\; send-keys Escape ":set nopaste\r"
#20:03 < micahcowan> rich0_, just in case, something like ^^ [that]
# move tmux copy buffer into x clipboard
bind-key C-y save-buffer /tmp/tmux-buffer \; run-shell "cat /tmp/tmux-buffer | xclip"
# splitting and cycling
set-option -g mouse-select-pane off
unbind %
bind | split-window -h # horizontal split
unbind '"'
bind S split-window -v # vertical split
set-window-option -g automatic-rename off # auto name
# messages
set-window-option -g mode-bg magenta
set-window-option -g mode-fg black
#set-option -g message-bg magenta
#set-option -g message-fg black
# No visual activity
set -g visual-activity off
set -g visual-bell on
set -g status-interval 120
# Richo's screenlike bindings
bind C-n next
bind C-space next
bind space next
bind C-p prev
bind C-d detach
#unbind C-c
bind C-c new-window
bind K confirm-before kill-pane
bind A command-prompt "rename-window '%%'"
# bind M set-window-option monitor-activity (toggle)
# bind _ set-window-option monitor-silence 15 (Toggle)
bind-key C-a last-window
bind M set-window-option monitor-activity
bind _ command-prompt "setw monitor-silence '%%'"
# Create an environment that zsh can make sense of
# set-environment -g tmuxTERM $TERM
set-environment -g INSCREEN yes
set-environment TMUX_TITLE yes
# New shells should not inherit pwd
set -g default-path "."
# status bar
set-option -g status-utf8 on
set-option -g status-justify left
set-option -g status-bg default
set-option -g status-fg white
set-option -g message-attr none
set-option -g message-bg white
set-option -g message-fg black
set-window-option -g window-status-bell-bg cyan
set-window-option -g window-status-bell-attr bright
set-window-option -g window-status-activity-bg red
set-window-option -g window-status-activity-attr bright
set-option -g status-interval 5
set-option -g status-left-length 30
#set-option -g status-left '#[fg=magenta]» #[fg=blue,bold]#T#[default]'
set-option -g status-left '#[fg=cyan][#S#[fg=black,bold]#P#[default]#[fg=cyan]]#[default]'
set-option -g status-right "#[fg=red]#(battery Discharging)#[fg=blue]#(battery Charging) #[fg=$TMUX_SHELL_COLOR]$sHost#[default]#[fg=cyan] %d %b %R"
# Cheers Nei on freenode
set-window-option -g window-status-current-format "[#[fg=white]#I:#W#F#[fg=red]]"
set-option -g visual-activity on
set-window-option -g monitor-activity off
set-window-option -g window-status-current-fg red
set-window-option -g window-status-current-attr bright
# DEBUG
# bind r source ~/.tmux.conf
# clock
set-window-option -g clock-mode-colour cyan
set-window-option -g clock-mode-style 24
# vim: ft=tmux