mirror of
https://github.com/donovanglover/nix-config.git
synced 2024-12-15 11:21:42 +01:00
0eb271a50c
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.
101 lines
2.7 KiB
Plaintext
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'
|