forked from AnthonyDiSanti/dot_files
-
Notifications
You must be signed in to change notification settings - Fork 0
/
tmux.conf
116 lines (99 loc) · 2.91 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
# Solarized colors taken from the iTerm2 project
#
# Dark Background Tones
# ---------------------
# Base03 = #002B36
# Base02 = #073642
#
# Content Tones
# -------------
# Base01 = #586E75
# Base00 = #657B83
# Base0 = #839496
# Base1 = #93A1A1
#
# Light Background Tones
# ----------------------
# Base2 = #EEE8D5
# Base3 = #FDF6E3
#
# Accent Colors
# -------------
# Yellow = #B58900
# Orange = #CB4B16
# Red = #D30102
# Magenta = #D33682
# Violet = #6C71C4
# Blue = #268BD2
# Cyan = #2AA198
# Green = #859900
# Enable 256 Color BCE support
set -g default-terminal "screen-256color-bce"
# Increase the buffer history
set -g history-limit 100000
# Start window and pane numbering at 1 (instead of 0)
set -g base-index 1
set -g pane-base-index 1
# Enable mouse support
set -g mouse on
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'select-pane -t=; copy-mode -e; send-keys -M'"
bind -n WheelDownPane select-pane -t= \; send-keys -M
bind -t vi-copy WheelUpPane halfpage-up
bind -t vi-copy WheelDownPane halfpage-down
# Customize the status bar
set -g status-bg '#FDF6E3' # Solarized Base3 (light background)
set -g status-fg '#657B83' # Solarized Base00 (light primary content)
set -g window-status-current-fg '#268BD2' # Solarized Blue
set -g status-left-length 20
# Fix annoying resizing from inactive clients
set -g aggressive-resize on
# Customize copy mode to use vim bindings
set -g mode-keys vi
bind -t vi-copy v begin-selection
bind -t vi-copy y copy-selection
bind -t vi-copy u page-up
bind -t vi-copy C-u page-up
bind -t vi-copy d page-down
bind -t vi-copy C-d page-down
# Window Management Bindings
bind ` select-window -t 0
bind b last-window
bind C-b last-window
# Pane Creation Bindings
bind v split-window -h
bind V split-window -h
bind C-v split-window -h
bind i split-window -v
bind I split-window -v
bind C-i split-window -v
# Vim Hotkeys for Pane Navigation/Resizing
bind -r k select-pane -U
bind -r j select-pane -D
bind -r h select-pane -L
bind -r l select-pane -R
bind -r C-k resize-pane -U
bind -r C-j resize-pane -D
bind -r C-h resize-pane -L
bind -r C-l resize-pane -R
# OSX Copy/Paste
set-option -g default-command 'reattach-to-user-namespace-tmux -l "$SHELL"'
bind y run-shell 'tmux save-buffer - | reattach-to-user-namespace-tmux pbcopy'
set -g history-limit 100000
# List of plugins
# Supports `github_username/repo` or full git repo URLs
set -g @tpm_plugins ' \
tmux-plugins/tpm \
tmux-plugins/tmux-sensible \
tmux-plugins/tmux-resurrect \
'
# Other examples:
# github_username/plugin_name \
# [email protected]/user/plugin \
# [email protected]/user/plugin \
# Initializes TMUX plugin manager.
# Keep this line at the very bottom of tmux.conf.
run-shell '~/dot_files/tmux/plugins/tpm/tpm'
# for vim
set -g @resurrect-strategy-vim 'session'
# for bash hsitory
set -g @resurrect-save-bash-history 'on'