aboutsummaryrefslogtreecommitdiff
path: root/tmux.conf
blob: d0a314d680a36f394b606fb9a3997e6ee2643be7 (plain)
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
# Use C-a
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix

# Enable mouse mode (tmux 2.1 and above)
set -g mouse on

# For vim themes
set -g default-terminal "tmux-256color"
set-option -sa terminal-overrides ',tmux-256color:RGB'

# xterm-style function key sequences
setw -g xterm-keys on

# sane copy & paste in X (requires xclip) ; tmux 2.4+
set-option -s set-clipboard off
bind-key -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "xclip -se c -i"

# Automatically set window title
set-window-option -g automatic-rename on
set-option -g set-titles on

# start from 1
set -g base-index 1
setw -g pane-base-index 1

# Emacs is cool, but I prefer vim
set -g status-keys vi
setw -g mode-keys vi

# More history
set -g history-limit 10000

# avoid delay and ESC behaving weird
set -g escape-time 0

# For vim plugins relaying on focus events
set -g focus-events on

# Bind to reload config
bind r source-file ~/.tmux.conf

# Use current directory for these
bind c new-window -c "#{pane_current_path}"
bind v split-window -h -c "#{pane_current_path}"
bind h split-window -v -c "#{pane_current_path}"

# Undercurl
set -as terminal-overrides ',*:Smulx=\E[4::%p1%dm'  # undercurl support
set -as terminal-overrides ',*:Setulc=\E[58::2::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m'  # underscore colours - needs tmux-3.0

source-file ~/.config/nvim/tmux-gruvbox-dark.conf