-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtmux.conf
100 lines (80 loc) · 3 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
# vim: set sw=2 ts=2 sts=2 et tw=78 foldmarker={{{,}}} foldlevel=0 foldmethod=marker:
# Custom Settings {{{
# Remap prefix to backtick
unbind C-b
set -g prefix `
bind ` select-pane -t :.+ # cycle through panes
# Open new/split panes with the path of the current pane
unbind-key c
bind-key c new-window -c '#{pane_current_path}'
unbind-key %
bind-key % split-window -h -c '#{pane_current_path}'
unbind-key '"'
bind-key '"' split-window -v -c '#{pane_current_path}'
# Act like Vim
# http://blog.sanctum.geek.nz/vi-mode-in-tmux/
set-window-option -g mode-keys vi
bind-key h select-pane -L
bind-key j select-pane -D
bind-key k select-pane -U
bind-key l select-pane -R
# Resizing (mouse also works)
unbind-key Left
bind-key -r Left resize-pane -L 5
unbind-key Right
bind-key -r Right resize-pane -R 5
unbind-key Down
bind-key -r Down resize-pane -D 5
unbind-key Up
bind-key -r Up resize-pane -U 5
# Start window and pane numbering at 1, not 0
set-option -g base-index 1
set-option -g pane-base-index 1
# Move windows
bind-key -r '<' swap-window -d -t '{previous}' # move window left.
bind-key -r '>' swap-window -d -t '{next}' # move window right.
# Highlight active window
set-option -w -g window-status-current-style bg=red
set-option -w -g xterm-keys on
# Mouse can be used to select panes, select windows (by clicking on the status
# bar), resize panes. For default bindings see `tmux list-keys`.
set-option -g mouse on
# Look good
set-option -g default-terminal "xterm-256color"
# Scrollback buffer size
set-option -g history-limit 10000
# Notify when something gets written to stdout in other windows
setw -g monitor-activity on
set -g visual-activity on
# Force a reload of the config file
unbind r
bind r source-file ~/.tmux.conf \; display-message "Config reloaded..."
# Status line
set-option -g status-style 'bg=#373b41,fg=white,bold,italics'
set-option -g status-left-length 40
set-option -g status-left '#[fg=yellow,bold,italics]#S § ' # SECTION SIGN (UTF-8: c2 a7)
set-option -g status-right "#[fg=yellow,bold,italics]$USER@#h #[fg=magenta]%l:%M %p"
set-option -g status-interval 60 # default is 15.
# Automatically renumber window numbers on closing a pane (tmux >= 1.7)
set-option -g renumber-windows on
# Slightly more useful width in "main-vertical" layout; enough room for 3-digit
# line number gutter in Vim + 80 columns of text + 1 column breathing room
# (default looks to be about 79).
set-option -w -g main-pane-width 85
# Copy mode: <prefix> [
# <prefix> v to paste text selection
bind v paste-buffer
# Show bells in window titles.
set-option -g window-status-bell-style fg=yellow,bold,underscore
# Turn off distracting border highlight.
set-option -ga pane-active-border-style bg=default,fg=default
# }}}
# Tmux Plugin Manager {{{
# List of plugins
# <prefix> I to reload after adding a plugin
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-yank'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'
# }}}