nix-config/tmux/.tmux.conf
Donovan Glover 0eb271a50c
tmux: Add true color support
It turns out that even if your terminal supports true color, it won't be
used in tmux unless you set the option explicitly. Now it is possible to
enjoy the benefits of true color inside tmux.
2018-11-07 11:34:19 -05:00

101 lines
2.7 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
# Set the text for the left and right of the status line
set -g status-left ''
set -g status-right ''
# Center the window list
set -g status-justify centre
# Use a "transparent" background for the status line
set -g status-bg default
# Use the regular text color for the status line
set -g status-fg white
# Use a "transparent" background for the current window
set -g window-status-current-bg default
# Highlight the current window yellow and make it bold
set -g window-status-current-fg yellow
set -g window-status-current-attr bold
# Re-number windows once one has been closed
set -g renumber-windows on
# Set the activity color to blue with a "transparent" background
set-window-option -g window-status-activity-bg default
set-window-option -g window-status-activity-fg blue
set-window-option -g window-status-activity-attr none
# 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'