mirror of
https://github.com/donovanglover/nix-config.git
synced 2024-12-17 04:10:56 +01:00
83dd4ed015
Some of these settings, specifically the window-status ones, produced error messages in more recent versions of tmux. I've gone ahead and simplified everything to the default colors since they work pretty well already.
83 lines
2.1 KiB
Plaintext
83 lines
2.1 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
|
|
|
|
# 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'
|