set -g default-terminal "xterm-256color" set-option -ga terminal-overrides ",xterm-256color:Tc" set -ga terminal-overrides ",xterm-256color:Tc" set-option -g default-shell /opt/homebrew/bin/nu set -g extended-keys on set -g extended-keys-format csi-u # action key unbind C-b set -g prefix C-q set-option -g repeat-time 0 set -g @tpm-clean 'u' bind-key x kill-pane # skip "kill-pane 1? (y/n)" prompt set -g detach-on-destroy off # don't exit from tmux when closing a session # Plugins set -g @tpm_plugins ' tmux-plugins/tpm tmux-plugins/tmux-sensible christoomey/vim-tmux-navigator ' # set -g @plugin 'joshmedeski/t-smart-tmux-session-manager' # set -g @t-fzf-prompt '󰍉 ' # bind-key "T" display-popup -E "sesh connect \"( # sesh list -i | gum filter --limit 1 --placeholder "Choose a session" --height 50 --prompt="> " --indicator.foreground="2" --match.foreground="2" # )\"" bind-key "T" run-shell "sesh connect \"$( sesh list --icons --hide-duplicates | fzf-tmux --no-sort --reverse \ -p 100%,100% --ansi --padding 0,1 --prompt='󰘧 ' \ --border=none --input-border=rounded --preview-border=rounded \ --header '^a all ^t tmux ^g configs ^x zoxide ^f find ^d kill' \ --bind 'tab:down,btab:up' \ --bind 'ctrl-a:reload(sesh list --icons --hide-duplicates)' \ --bind 'ctrl-t:reload(sesh list -t --icons)' \ --bind 'ctrl-g:reload(sesh list -c --icons)' \ --bind 'ctrl-x:reload(sesh list -z --icons)' \ --bind 'ctrl-f:reload(fd -H -d 2 -t d -E .Trash . ~)' \ --bind 'ctrl-d:execute(tmux kill-session -t {2..})+reload(sesh list --icons --hide-duplicates)' \ --preview 'sesh preview {}' --preview-window 'right:55%' \ )\"" bind-key b set-option status set-window-option -g mode-keys vi # turn on mouse set -g mouse on #bind t send-key C-t # Reload settings bind r source-file ~/.tmux.conf \; display "Reloaded!" # Open current directory bind o run-shell "open #{pane_current_path}" bind -r e kill-pane -a # vim-like pane switching bind -r k select-pane -U bind -r j select-pane -D bind -r h select-pane -L bind -r l select-pane -R # Moving window bind-key -n C-S-Left swap-window -t -1 \; previous-window bind-key -n C-S-Right swap-window -t +1 \; next-window # Resizing pane bind -r K resize-pane -U 5 bind -r J resize-pane -D 5 bind -r H resize-pane -L 5 bind -r L resize-pane -R 5 # Start windows and panes at 1, not 0 set -g base-index 1 set -g pane-base-index 1 set-window-option -g pane-base-index 1 set-option -g renumber-windows on # Opens split panes in current path bind '"' split-window -v -c "#{pan_current_path}" bind % split-window -h -c "#{pane_current_path}" #set-option utf8-default on #set-option -g mouse-select-pane set-window-option -g mode-keys vi #set-window-option -g utf8 on # look'n feel set-option -g status-position "top" set-option -g status-style bg=colour0,fg=default set-option -g status-justify centre set-option -g status-left '#[bg=default,fg=default,bold]#{?client_prefix,, 󰘧 }#[bg=default,fg=colour3,bold]#{?client_prefix, 󰘧 ,}' set-option -g status-right '#S' set-option -g window-status-format '#[bg=colour0,fg=colour2] 󰝣 #W ' set-option -g window-status-current-format '#[bg=colour0,fg=colour3] 󰝤 #W#{?window_zoomed_flag,  , }' run '~/.tmux/plugins/tpm/tpm'