-
Notifications
You must be signed in to change notification settings - Fork 0
/
.tmux.conf
146 lines (110 loc) · 3.43 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
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
#################################################
# Server and Session Options
#################################################
# Use ^a as prefix and not the default ^b.
# This makes the prefix easier to reach for me on the keyboard and is also the default of
# GNU screen
set -g prefix ^a
# Enlarge scrollback buffer size
set -g history-limit 100000
# Activate status bar
set -g status on
# Vi key bindings for the command line
set -g status-keys vi
# Keep messages and alerts around longer
set -g display-time 3000
# The base for numbering windows is 1, not 0
set -g base-index 1
# Pass alarm to tmux instead of piping it through the shell, TODO this needs
# experimentation
set -g visual-bell on
# Redraw the status bar once a second
set -g status-interval 1
# Amount of time for which status line messages and other indicators
# are displayed.
set -g display-time 2000
#################################################
# COLOUR (Solarized light)
#################################################
# default statusbar colors
set-option -g status-bg white #base2
set-option -g status-fg red #yellow
set-option -g status-attr default
# default window title colors
set-window-option -g window-status-fg brightyellow #base00
set-window-option -g window-status-bg default
#set-window-option -g window-status-attr dim
# active window title colors
set-window-option -g window-status-current-fg brightred #orange
set-window-option -g window-status-current-bg default
#set-window-option -g window-status-current-attr bright
# pane border
set -g pane-border-bg white
set -g pane-border-fg white
set -g pane-active-border-bg brightcyan
set -g pane-active-border-fg brightcyan
# message text
set-option -g message-bg white #base2
set-option -g message-fg brightred #orange
# pane number display
set-option -g display-panes-active-colour blue #blue
set-option -g display-panes-colour brightred #orange
# clock
set-window-option -g clock-mode-colour green #green
# bell
set-window-option -g window-status-bell-style fg=white,bg=red #base2, red
#################################################
# Window Options
#################################################
# Vi key bindings for copy and choice mode
setw -g mode-keys vi
# Attempt to set name of the current window automatically, XXX useful?
setw -g automatic-rename
# Color and text attributes of active window status line
setw -g window-status-current-fg colour15
setw -g window-status-current-attr underscore
#################################################
# Key Bindings
#################################################
# Send masked ^a
unbind ^b
bind a send-prefix
# Quick switching between panes in numerical order
unbind o
bind ^a select-pane -t:.+
unbind h
unbind l
unbind j
unbind k
bind h select-pane -L
bind l select-pane -R
bind j select-pane -D
bind k select-pane -U
unbind n
unbind N
bind ^j previous-window
bind ^k next-window
# Interactive switching between sessions
unbind ^s
bind ^s choose-session
# Vim-style pane resizing
unbind Left
unbind Right
unbind Up
unbind Down
bind Left resize-pane -L 4
bind Right resize-pane -R 4
bind Down resize-pane -D 4
bind Up resize-pane -U 4
# Ask before killing the current pane
unbind q
bind q confirm-before "kill-pane"
# Copy and scrolling mode is ESC instead of [
unbind [
bind Escape copy-mode
# Quick process view
bind "~" split-window "exec htop"
# Toggle statusbar
bind s set status
#enable scrolling via shift-pageup
set -g terminal-overrides 'xterm*:smcup@:rmcup@'