-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path.tmux.conf
75 lines (60 loc) · 2.78 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
set -g default-shell /bin/zsh
set -g default-terminal "screen-256color"
bind - split-window -v -c '#{pane_current_path}' # Split panes vertically
bind | split-window -h -c '#{pane_current_path}' # Split panes horizontally
# Make semicolon behave like colon
bind \; command-prompt
# make it so there's no visual delay switching modes in vim
set -sg escape-time 0
# copy mode
setw -g mode-keys vi # vim-style movement
bind e copy-mode # enter copy mode via prefix+e
bind -n PageUp copy-mode # enter copy mode without prefix
# Borrowing many options from here: https://github.com/gpakosz/.tmux/blob/master/.tmux.conf
set -g base-index 1 # start windows numbering at 1
setw -g pane-base-index 1 # make pane numbering consistent with windows
setw -g automatic-rename off # rename window to reflect current program
setw -g allow-rename off # rename window to reflect current program
set -g renumber-windows on # renumber windows when a window is closed
set -g set-titles on # set terminal title
# Make pane switching non-repeatable (rebind without -r) to avoid delay
bind-key i select-pane -U
bind-key k select-pane -D
bind-key j select-pane -L
bind-key l select-pane -R
# prefix+tab cycles through panes
bind-key Tab select-pane -t :.+
# Unbind shortcuts I always hit accidentally
unbind-key ! # break pane
unbind-key { # swap pane up
unbind-key } # swap pane down
# If for some reason autokey is unavailable, easier window management hotkeys
bind-key -n C-Right next-window
bind-key -n C-Left previous-window
bind-key -n M-t new-window
bind-key -n M-w kill-window
# reload configuration
bind r source-file ~/.tmux.conf \; display '~/.tmux.conf sourced'
# Theme the status bar
set -g status-right ' #{?client_prefix,#[reverse]<Prefix>#[noreverse] ,} #(tmux-status) %a %h %d | %I:%M %p '
set -g status-left ' ' # default is '[#S] '
# Colour scheme based on the jellybeans theme for vim.
# Borrowed from https://github.com/solson/dotfiles/blob/387fd6f0ca0dc2be1298e95eb4b3e622ed4c9d8f/.tmux.conf
set -g window-status-format ' #I:#W '
set -g window-status-current-format ' #I:#W '
set -g status-style fg=colour145,bg=colour233
set -g message-style fg=colour145,bg=colour233
set -g window-status-current-style bold,fg=colour195,bg=colour25
set -g window-status-style bold,fg=colour145,bg=colour233
setw -g mode-style fg=colour195,bg=colour25
# set inactive/active window styles
set -g window-style 'fg=colour247,bg=colour000'
set -g pane-border-style 'bg=colour000 fg=colour236'
set -g window-active-style 'fg=colour250,bg=black'
set -g pane-active-border-style 'bg=colour000 fg=colour25'
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
# Initialize TMUX plugin manager
run -b '~/.tmux/plugins/tpm/tpm'