-
Notifications
You must be signed in to change notification settings - Fork 0
/
tmux.conf
144 lines (111 loc) · 3.24 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
########
# TMUX #
########
# Sticking with Ctrl-b as prefix as it has the least clashes with
# other use cases.
set -sg escape-time 1
# start with window 1 (instead of 0)
set -g base-index 1
# start with pane 1
set -g pane-base-index 1
# use mouse in copy mode
setw -g mode-mouse on
# with mouse (click on pretty little boxes)
set -g mouse-select-window on
# resize panes with mouse (drag borders)
set -g mouse-select-pane on
set -g mouse-resize-pane on
# shell
set -g default-command /bin/zsh
set -g default-shell $SHELL
# screen mode
set -g default-terminal "xterm-256color"
# source config file
bind r source-file ~/.tmux.conf
# history
set -g history-limit 10000
# allow terminal scrolling
set-option -g terminal-overrides 'xterm*:smcup@:rmcup@'
# use vi mode
setw -g mode-keys vi
set -g status-keys vi
# copy mode
bind Escape copy-mode
unbind p
bind p paste-buffer
bind -t vi-copy 'v' begin-selection
bind -t vi-copy 'y' copy-selection
#bind -t vi-copy 'Space' halfpage-down
#bind -t vi-copy 'Bspace' halfpage-up
# easy to remember split pane commands
bind | split-window -h
bind - split-window -v
unbind '"'
unbind %
# Moving between panes with vim movement keys
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
# Moving between windows with vim movement keys
bind -r C-h select-window -t :-
bind -r C-l select-window -t :+
# resize panes with vim movement keys
bind -r H resize-pane -L 5
bind -r J resize-pane -D 5
bind -r K resize-pane -U 5
bind -r L resize-pane -R 5
# colon :
bind : command-prompt
# panes
set -g pane-border-fg colour240
set -g pane-active-border-fg colour13
#set -g pane-active-border-attr blink
setw -g utf8 on
# status line
set -g status-utf8 on
set -g status-justify left
set -g status-bg colour14
set -g status-fg colour12
set -g status-interval 2
# messaging
set -g message-fg colour0
set -g message-bg colour3
set -g message-command-fg colour4
set -g message-command-bg colour0
#window mode
setw -g mode-bg colour6
setw -g mode-fg colour0
# window status
#setw -g window-status-format " #F#I:#W#F "
#setw -g window-status-current-format " #F#I:#W#F "
setw -g window-status-format "#[fg=colour5]#[bg=colour8] #I #[bg=colour6]#[fg=colour8] #W "
setw -g window-status-current-format "#[bg=colour10]#[fg=colour8][#I]#[fg=colour7]#[bg=colour14] #W "
setw -g window-status-current-bg colour0
setw -g window-status-current-fg colour11
setw -g window-status-current-attr dim
setw -g window-status-bg green
setw -g window-status-fg black
setw -g window-status-attr reverse
setw -g window-status-content-bg colour0
setw -g window-status-content-fg colour11
setw -g window-status-content-attr bold,blink,reverse
# Info on right (requires stlarch-terminusmod font)
set -g status-right-length 60
set -g status-right '#[bg=colour240]#[fg=colour7] %a %H:%M '
# Info on left (I don't have a session display for now)
set -g status-left ''
# loud or quiet?
set-option -g visual-activity on
set-option -g visual-bell off
set-option -g visual-content off
set-option -g visual-silence off
set-window-option -g monitor-activity on
set-window-option -g monitor-content on
set-option -g bell-action none
# tmux clock
set -g clock-mode-colour colour10
# some key-binding changes
bind x kill-pane
bind X next-layout
bind Z previous-layout