tmux: add config
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -15,6 +15,8 @@ mise/*
|
||||
nvim/lazy-lock.json
|
||||
nvim/lazyvim.json
|
||||
|
||||
!tmux/
|
||||
|
||||
!yazi/
|
||||
yazi/flavours/
|
||||
yazi/plugins/
|
||||
|
||||
50
tmux/tmux.conf
Normal file
50
tmux/tmux.conf
Normal file
@@ -0,0 +1,50 @@
|
||||
set -g default-terminal "tmux-256color"
|
||||
set -g terminal-overrides ",*:RGB"
|
||||
|
||||
# Index options
|
||||
set -g base-index 1 # set base index for windows
|
||||
set-window-option -g pane-base-index 1 # ser base index for panes
|
||||
set-option -g renumber-windows on # renumber all windows when any window is closed
|
||||
|
||||
# Base configuration
|
||||
set -g history-limit 1000000 # increase history size (from 2,000)
|
||||
set -g mouse on # Enable mouse
|
||||
set -g set-clipboard on # use system clipboard
|
||||
|
||||
# Vim-like copy/paste
|
||||
set-window-option -g mode-keys vi # set vi mode for windows
|
||||
bind-key -T copy-mode-vi v send-keys -X begin-selection
|
||||
bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
|
||||
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
|
||||
unbind -T copy-mode-vi MouseDragEnd1Pane # disable copy with mouse
|
||||
|
||||
# Style
|
||||
gray_dark="#3B4252"
|
||||
gray_light="#D8DEE9"
|
||||
gray_medium="#ABB2BF"
|
||||
green_soft="#A3BE8C"
|
||||
cyan_soft="#88C0D0"
|
||||
blue_muted="#81A1C1"
|
||||
magenta="#C099FF"
|
||||
set -g status-position top # macOS / darwin style
|
||||
set -g status-left-length 100 # more room for session name
|
||||
set -g status-style "fg=${gray_light},bg=default"
|
||||
set -g status-left " #{?client_prefix,#[fg=${magenta}],#[fg=${green_soft}]}#[bold] #S#[fg=${gray_light},nobold] | "
|
||||
set -g status-right ""
|
||||
set -g window-status-current-format "#[fg=${cyan_soft},bold] #[underscore]#I:#W"
|
||||
set -g window-status-format "#I:#W"
|
||||
set -g message-style "fg=${gray_light},bg=default"
|
||||
set -g mode-style "fg=${gray_dark},bg=${blue_muted}"
|
||||
set -g pane-border-style "fg=${gray_dark}"
|
||||
set -g pane-active-border-style "fg=${gray_medium}"
|
||||
|
||||
# Keybins
|
||||
bind r source-file $HOME/.config/tmux/tmux.conf \; display-message "Configuration relod..."
|
||||
|
||||
# Popups
|
||||
# new session
|
||||
bind C-n display-popup -w 50% -h 5% -E 'bash -i -c "read -p \"Session name: \" name; tmux new-session -d -s \$name && tmux switch-client -t \$name"'
|
||||
# jump to session
|
||||
bind C-j display-popup -E "tmux list-sessions | sed -E 's/:.*$//' | grep -v \"^$(tmux display-message -p '#S')\$\" | fzf --reverse | xargs tmux switch-client -t"
|
||||
# terminal
|
||||
bind C-t display-popup -d "#{pane_current_path}" -w 75% -h 75% -E "zsh"
|
||||
Reference in New Issue
Block a user