blob: c80958d37a5a4789eab85320b27ae4fcf6899d85 (
plain) (
blame)
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
|
# *OLD* way to set styles
# set -g status-bg green
# set -g status-fg black
# set-window-option -g window-status-current-bg black
# set-window-option -g window-status-current-fg green
# New way:
set -g status-style "fg=green,bg=black"
set-window-option -g window-status-current-style "bg=green,fg=black"
set -g status-right "#[fg=black,bg=green] #(whoami)@#h|m:#(sh $HOME/.tmux_helper.sh memory)|l:#(sh $HOME/.tmux_helper.sh load)|#(sh $HOME/.tmux_helper.sh uptime)"
# For a basic tmux configuration without the helper
# set -g status-right "#[fg=black,bg=green] #(whoami)@#h"
# Pretty nifty little option to mirror input for all panes
bind M-s setw synchronize-panes
# Allow the hotkeys to be switched using M-x to C-x, M-b to C-b, and so forth
bind M-x set prefix C-x
bind M-b set prefix C-b
bind M-a set prefix C-a
# set -g mode-mouse on
setw -g mode-keys vi
# setw -g aggressive-resize on
# This has previously not given me any issues other than 'set termguicolors' in
# vim
# set -g default-terminal "screen-256color"
# This seems to fix that problem, it may cause other issues but I'm going to
# keep an eye on it
set-option -g default-terminal "tmux-256color"
set-option -ga terminal-overrides ",xterm*:Tc"
# Don't let command rename our windows
set-option -g allow-rename off
# Press v to "visually" and y to "yank" the text
# Press `c-b ]` to paste
# If you ever want to look up a keybind use `c-b ?`
bind-key -T copy-mode-vi v send-keys -X begin-selection
bind-key -T copy-mode-vi y send-keys -X copy-selection
# This one is also useful if you don't want to do what is listed above
# bind p paste-buffer
# Rather large histroy buffer so I don't lose shit
set-option -g history-limit 16000
# Fix for certian applications such as Nvim
set -sg escape-time 0
# Select panes with vim like bindings
bind-key M-k select-pane -U
bind-key M-j select-pane -D
bind-key M-h select-pane -L
bind-key M-l select-pane -R
# Reload configuration
bind-key r source ~/.tmux.conf
# Respawn the pane # Useful if you have `set -g remain-on-exit on` or so
bind-key M-r respawn-pane
# Change the status line a little bit, most are close to defaults
set -g status-left-length 16
set -g status-left "[#S] "
set -g status-right-length 40
set -g window-status-format "#I:#W#F"
set -g set-titles on
set -g set-titles-string "tmux: #{session_name} [#I]#{window_name} -- #T"
# If you still want to select text out of the terminal as you normally would
# You should hold the shift key ( Linux ) Option/Alt works in iTerm2 on MacOS
# Does not seem to work with the native terminal.
set -g mouse on
# Old mouse method
# set-option -g mode-mouse on
# set-option -g mouse-resize-pane on
# set-option -g mouse-select-pane on
# set-option -g mouse-select-window on
# If you want any local configuration
source ~/.tmux.conf.local
|