nix-config/tmux/.tmux.conf
Donovan Glover dd0b64cac4
tmux: Standardize layout
This admittedly makes our tmux slightly boring in comparison to those
that customize it, but having a consistent layout makes it easier to
work with tmux across different environments.
2021-05-14 17:31:08 -04:00

76 lines
1.9 KiB
Plaintext

# New Start: A modern Arch workflow built with an emphasis on functionality.
# Copyright (C) 2018 Donovan Glover
# Use the best shell
set -g default-shell "/bin/fish"
# Offset the starting index of panes by one
set -g base-index 1
# Always use vi
set -g status-keys vi
set-window-option -g mode-keys vi
# Increase the history limit
set -g history-limit 10000
# Enable mouse scroll in tmux
set-window-option -g mouse on
# Show a notification for panes with new information
set-window-option -g monitor-activity on
# Switch between panes with alt+h/j/k/l
bind -n M-h select-pane -L
bind -n M-j select-pane -D
bind -n M-k select-pane -U
bind -n M-l select-pane -R
# Swap between panes with alt+shift+h/j/k/l
bind -n M-H swap-pane -U
bind -n M-J swap-pane -D
bind -n M-K swap-pane -U
bind -n M-L swap-pane -D
# Easily choose panes to move between windows
bind-key @ choose-window 'join-pane -h -s "%%"'
# Change the size of panes with <C-b><h/j/k/l>
bind-key h resize-pane -L 5
bind-key j resize-pane -D 5
bind-key k resize-pane -U 5
bind-key l resize-pane -R 5
# Create new panes with <C-b><v/s>
bind-key v split-window -h
bind-key s split-window -v
# Switch between windows with shift + arrow keys
bind -n S-Left previous-window
bind -n S-Right next-window
# Show and hide the status bar with shift + up
bind -n S-Up set status
# Easily move the current window to the left/right
bind-key -n C-Left swap-window -t -1
bind-key -n C-Right swap-window -t +1
# Remove the delay when using the escape key
set -sg escape-time 0
# Easily reload this config file
bind r source-file ~/.tmux.conf
# Update the status line every 60 seconds
set -g status-interval 60
# Increase the maximum length of the left part of the status line
set -g status-left-length 30
# Re-number windows once one has been closed
set -g renumber-windows on
# Add support for neovim cursor changing (insert mode, etc.)
set -g -a terminal-overrides ',xterm*:Tc,*:Ss=\E[%p1%d q:Se=\E[2 q'