-
Notifications
You must be signed in to change notification settings - Fork 0
/
tmux.conf
140 lines (100 loc) · 3.76 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
# Tmux Conf
set-option -g default-shell /usr/bin/zsh
# Use | and - to split screen
bind | split-window -h -c "#{pane_current_path}"
bind - split-window -v -c "#{pane_current_path}"
# Use alt + vim movement to change panes
bind -n M-h select-pane -L
bind -n M-j select-pane -D
bind -n M-k select-pane -U
bind -n M-l select-pane -R
# Reload tmux config
bind r source-file ~/.tmux.conf
# Nice colors
set -g default-terminal "st-256color"
#set-hook -g after-new-session "source-file /home/soda/.tmux.conf2"
# make tmux copy stuff like vim
set-window-option -g mode-keys vi
bind-key -T copy-mode-vi 'v' send-keys -X begin-selection
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel
bind -T root C-S-v paste-buffer
# options adapted from https://github.com/tmux-plugins/tmux-sensible
# address vim mode switching delay (http://superuser.com/a/252717/65504)
set-option -sg escape-time 0
# increase scrollback buffer size
set -g history-limit 50000
# tmux messages are displayed for 4 seconds
set -g display-time 4000
# refresh 'status-left' and 'status-right' more often
set -g status-interval 5
# emacs key bindings in tmux command prompt (prefix + :) are better than
# vi keys, even for vim users
set -g status-keys emacs
# focus events enabled
set -g focus-events on
set -g mouse off
set-option -gw xterm-keys on
# super useful when using "grouped sessions" and multi-monitor setup
setw -g aggressive-resize on
bind-key -n C-Left send-keys C-Left
bind-key -n C-Right send-keys C-Right
bind-key -n C-Up send-keys C-Up
bind-key -n C-Down send-keys C-Down
unbind ]
# open new windows in the same working directory
bind '"' split-window -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
bind c new-window -c "#{pane_current_path}"
# taken from
# http://www.hamvocke.com/blog/a-guide-to-customizing-your-tmux-conf/
######################
### DESIGN CHANGES ###
######################
## Status bar design
# status line
set -g status-justify left
set -g status-interval 2
# messaging
set -g message-command-style fg=blue,bg=black
# loud or quiet?
set-option -g visual-activity off
set-option -g visual-bell off
set-option -g visual-silence off
set-window-option -g monitor-activity off
set-option -g bell-action none
# The modes {
setw -g clock-mode-colour colour135
setw -g mode-style fg=colour196,bg=colour238,bold
# }
# The panes {
set -g pane-border-style fg=colour238,bg=colour235
set -g pane-active-border-style fg=colour51,bg=colour236
# }
# The statusbar {
set -g status-position bottom
set -g status-style fg=colour137,bg=colour234,dim
set -g status-left ''
set -g status-right '#[fg=colour233,bg=colour241,bold] %d/%m #[fg=colour233,bg=colour245,bold] %H:%M '
set -g status-right-length 100
set -g status-left-length 20
setw -g window-status-current-style fg=colour81,bg=colour238,bold
setw -g window-status-current-format ' #I#[fg=colour250]:#[fg=colour255]#W#[fg=colour50]#F '
setw -g window-status-style fg=colour138,bg=colour235,none
setw -g window-status-format ' #I#[fg=colour237]:#[fg=colour250]#W#[fg=colour244]#F '
setw -g window-status-bell-style fg=colour255,bg=colour1,bold
# }
# The messages {
setw -g message-style fg=colour232,bg=colour166,bold
# }
set -g status-right '#(gitmux -cfg ~/.gitmux.conf "#{pane_current_path}")''"'
# make a new session
# -A means if the session "daemon" exists, switch to it. otherwise, make it.
# -s names the session
#new-session -As default "ipfs daemon"
#set-option remain-on-exit on
#new-window "neofetch"
# make a new window
# -S means if the window "ipfs-daemon" exists, switch to it. otherwise, make it.
# -n names the window
# the string at the end is a shell command
#new-window -S -n ipfs-daemon "ipfs daemon"