# Settings set -g mouse on set -g status on # Enable the status line set -g pane-border-status top # Show titles at the top of each pane set -g pane-border-format "#{pane_index} #{pane_title}" # Customize the title format setw -g mode-keys vi # Use vi keybindings in copy mode set -g focus-events on set -g status-right '#{ip_address} | #H' setw -g pane-border-format ' #{=/-20/…:pane_title} [#{=/-20/…:pane_current_command}] #(pgrep -P "#{pane_pid}" | tr "\n" " ")#{pane_current_path} #{?alternate_on, ,}' set -g @treemux-tree-nvim-init-file '~/.tmux/plugins/treemux/configs/treemux_init.lua' set -g @continuum-restore 'on' set -g xterm-keys on set -g set-clipboard on set -g automatic-rename on set -g automatic-rename-format "#{b:pane_current_path##*/} → #{pane_current_command}" set -g default-terminal "tmux-256color" set -ag terminal-overrides ",xterm-256color:Tc,smcup@:rmcup@" TMUX_FZF_MENU=\ "foo\necho 'Hello!'\n"\ "bar\nls ~\n"\ "sh\nsh ~/test.sh\n" TMUX_FZF_LAUNCH_KEY="C-f" # Prefix keybindings bind r source-file ~/.tmux.conf \; display "Reloaded the config" bind c new-window -c "#{pane_current_path}" \; display "Opened new window in #{pane_current_path}" bind a attach-session -c "#{pane_current_path}" \; display "Attached current session to #{pane_current_path}" bind e show-environment bind g display-popup -E -w 90% -h 90% -d "#{pane_current_path}" 'lazygit' # Repeatable set -s repeat-time 500 # Slow down repeat time bind -r C-h resize-pane -L 5 bind -r C-j resize-pane -D 5 bind -r C-k resize-pane -U 5 bind -r C-l resize-pane -R 5 # Keybindings bind -n MouseDown3Pane resize-pane -Z bind -n M-h select-pane -L # Move left a pane bind -n M-j select-pane -D # Move down a pane bind -n M-k select-pane -U # Move up a pane bind -n M-l select-pane -R # Move right a pane bind -n M-m resize-pane -Z # Maximize/minimize current pane bind -n M-i previous-window # Move to previous window bind -n M-o next-window # Move to next window bind -n M-, switch-client -p # Switch to previous session bind -n M-. switch-client -n # Switch to next session # Display # Inactive pane border set -g pane-border-style "fg=default" set -g pane-active-border-style "fg=orange" # List of plugins set -g @plugin 'erikw/tmux-powerline' set -g @plugin 'tmux-plugins/tpm' set -g @plugin 'tmux-plugins/tmux-sensible' set -g @plugin 'tmux-plugins/tmux-resurrect' set -g @plugin 'tmux-plugins/tmux-continuum' set -g @plugin 'anghootys/tmux-ip-address' set -g @plugin 'alexwforsythe/tmux-which-key' set -g @plugin 'kiyoon/treemux' set -g @plugin 'sainnhe/tmux-fzf' set -g @plugin 'imomaliev/tmux-keyboard-layout' set -g @plugin 'joshmedeski/tmux-nerd-font-window-name' set -g @plugin 'huncholane/tmux-fzf-keys' set -g @plugin 'huncholane/tmux-env-menu' # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) run '~/.tmux/plugins/tpm/tpm'