nix-config/dots/common/.tmux.conf
Donovan Glover 93500e18e9
Combine common dotfiles
This commit puts all common dotfiles in the same directory. This makes
it really easy to stow all my dotfiles that are common across all the
setups I use, and also makes it easy for me to verify that all the
dotfiles I need are already stowed with one simple command.
2018-09-06 15:46:19 -04:00

106 lines
2.9 KiB
Plaintext

# New Start: A modern Arch workflow built with an emphasis on functionality.
# Copyright (C) 2018 Donovan Glover
# Use the best shell
# NOTE: zsh autocomplete does not use the correct color
# NOTE: zsh takes longer to load compared to fish
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 alt+n/N
bind -n M-N previous-window
bind -n M-n next-window
# Alternatively use shift + arrow keys to switch windows
bind -n S-Left previous-window
bind -n S-Right next-window
# 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 '#[fg=blue](#S) #(whoami)#[default]'
#set -g status-right '#[fg=blue]%H:%M#[default]'
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 black
# 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 black
# 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 black
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 ',*:Ss=\E[%p1%d q:Se=\E[2 q'