forked from extern/nix-config
106 lines
2.9 KiB
Plaintext
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'
|