« get me outta code hell

.tmux.conf - dotfiles - Miscellaneous configuration files of my personal use
about summary refs log tree commit diff
path: root/.tmux.conf
blob: b51fe44dc153888ddaf0b5653938ccd6c1ca0bc4 (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
set -g default-shell /bin/zsh
set -g mouse on
set -g default-terminal "screen-256color"
set -g repeat-time 250
set -sg escape-time 0

set -g status-style bg=colour235,fg=colour249
set-window-option -g window-status-current-style fg=colour251,bright

bind '"' split-window -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
bind c new-window -c "#{pane_current_path}"

bind -n C-S-Left swap-window -t -1
bind -n C-S-Right swap-window -t +1

# These are "fake" keybindings: we *want* to bind to key combinations
# that tmux can't actually detect (for one reason or another, but
# generally because it's not an ASCII-represented key chord). Instead
# we bind the commands to arbitrary codes that we probably won't want
# to actually press, and then configure the terminal editor (i.e. see
# kitty.conf) to actually pass the relevant keys along.
#
# Technically this also means we can customize the effective bindings
# per terminal emulator.

bind -n M-S-a swap-window -t -1 \; previous-window   ## bind to C-S-, (ctrl <)
bind -n M-S-b swap-window -t +1 \; next-window       ## bind to C-S-. (ctrl >)
bind -n M-S-c previous-window   ## bind to C-, (ctrl ,)
bind -n M-S-d next-window       ## bind to C-. (ctrl .)

# End "fake" keybindings.