mirror of
https://github.com/halfdan/dotfiles.git
synced 2025-04-26 04:15:38 +00:00
124 lines
3.4 KiB
Bash
124 lines
3.4 KiB
Bash
######################################################################
|
|
# START OF PLUGINS
|
|
######################################################################
|
|
|
|
# Plugin manager for tmux
|
|
set -g @plugin 'tmux-plugins/tpm'
|
|
|
|
set-environment -g TMUX_PLUGIN_MANAGER_PATH '~/.tmux/plugins/'
|
|
|
|
# Simple tmux options for anyone
|
|
set -g @plugin 'tmux-plugins/tmux-sensible'
|
|
|
|
#set -g @plugin 'odedlaz/tmux-onedark-theme'
|
|
|
|
# Gruvbox theme
|
|
set -g @plugin 'egel/tmux-gruvbox'
|
|
set -g @tmux-gruvbox 'dark' # or 'light'
|
|
|
|
# Persistent tmux envs across system restarts
|
|
set -g @plugin 'tmux-plugins/tmux-resurrect'
|
|
|
|
# Continuous saving of tmux environment
|
|
set -g @plugin 'tmux-plugins/tmux-continuum'
|
|
|
|
#######################################################
|
|
# TMUX-CONTINUUM
|
|
#######################################################
|
|
|
|
# Enables restoral of saved tmux config
|
|
set -g @continuum-restore 'on'
|
|
|
|
# How often to save a tmux layout
|
|
set -g @continuum-save-interval '10'
|
|
|
|
#######################################################
|
|
# TMUX-RESURRECT
|
|
#######################################################
|
|
|
|
# Capture contents of each pane
|
|
set -g @resurrect-capture-pane-contents 'on'
|
|
|
|
# Set to resurrect neovim sessions
|
|
set -g @resurrect-strategy-nvim 'session'
|
|
|
|
# Processes to resurrect
|
|
set -g @resurrect-processes '~julia'
|
|
|
|
#######################################################
|
|
# TMUX-SENSIBLE
|
|
#######################################################
|
|
|
|
# Increase scrollback buffer size
|
|
set -g history-limit 50000
|
|
|
|
######################################################################
|
|
# END OF PLUGINS
|
|
######################################################################
|
|
|
|
|
|
|
|
|
|
######################################################################
|
|
# START OF GENERAL CONFIGURATIONS
|
|
######################################################################
|
|
|
|
# Turn on interactivity with mouse
|
|
set -g mouse on
|
|
bind -n WheelUpPane if-shell -F -t = "#{mouse_any_flag}" "send-keys -M" "if -Ft= '#{pane_in_mode}' 'send-keys -M' 'copy-mode -e; send-keys -M'"
|
|
|
|
# Enables italics in tmux
|
|
#set -g default-terminal "tmux-256color"
|
|
set -g default-terminal "screen-256color"
|
|
|
|
# Terminal type configuration
|
|
set -ga terminal-overrides ",screen-256color:RGB"
|
|
set -ag terminal-overrides ",alacritty:RGB"
|
|
|
|
# Start window numbering at specific num
|
|
set -g base-index 1
|
|
|
|
# Renumber windows on window close
|
|
set -g renumber-windows on
|
|
|
|
# Set vi mode
|
|
setw -g mode-keys vi
|
|
|
|
#######################################################
|
|
# KEY BINDING
|
|
#######################################################
|
|
|
|
# hjkl pane traversal
|
|
bind h select-pane -L
|
|
bind j select-pane -D
|
|
bind k select-pane -U
|
|
bind l select-pane -R
|
|
|
|
# Remap prefix from 'C-b' to 'C-a'
|
|
unbind C-b
|
|
set-option -g prefix C-a
|
|
bind-key C-a send-prefix
|
|
|
|
# Bind popup display commands
|
|
# bind t popup -KER "topydo columns"
|
|
# bind d popup -h80% -w80% -KR "gcalcli --calendar \"JZ Calendar\" calw"
|
|
# bind s popup -h80% -w80% -KER "spt"
|
|
# bind C-t popup -KR "$SHELL"
|
|
|
|
bind-key -r f run-shell "tmux neww ~/.local/bin/tmux-sessionizer"
|
|
|
|
bind -T copy-mode-vi v send -X begin-selection
|
|
bind -T copy-mode-vi y send-keys -X copy-pipe-and-cancel "pbcopy"
|
|
bind P paste-buffer
|
|
bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel "pbcopy"
|
|
|
|
######################################################################
|
|
# END OF GENERAL CONFIGURATIONS
|
|
######################################################################
|
|
|
|
|
|
|
|
|
|
# Initialize tpm plugin manager - DO NOT MOVE
|
|
run '~/.tmux/plugins/tpm/tpm'
|