Skip to content

Instantly share code, notes, and snippets.

@jmacqueen
Last active November 4, 2024 20:47
Show Gist options
  • Save jmacqueen/3ce2dd737cc9caeacecf663d22343fc4 to your computer and use it in GitHub Desktop.
Save jmacqueen/3ce2dd737cc9caeacecf663d22343fc4 to your computer and use it in GitHub Desktop.
My tmux.conf
set -g mouse on
set -g history-limit 1000000 # increase history size (from 2,000)
set -g set-clipboard on # use system clipboard
set -g status-position top # macOS / darwin style
# Set true color
set-option -sa terminal-overrides ",xterm*:Tc"
# set vi mode
set-window-option -g mode-keys vi
# Set prefix
unbind C-b
set -g prefix C-a
bind C-a send-prefix
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'christoomey/vim-tmux-navigator'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'catppuccin/tmux'
# set -g @plugin 'dreamsofcode-io/catppuccin-tmux'
set -g @plugin 'sainnhe/tmux-fzf'
set -g @plugin 'wfxr/tmux-fzf-url'
# These two should be loaded last
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @plugin 'tmux-plugins/tmux-continuum'
set -g @fzf-url-fzf-options '-p 60%,30% --prompt=" " --border-label=" Open URL "'
set -g @fzf-url-history-limit '2000'
# tmux/yank config
set -g @yank_action 'copy-pipe'
# Ctrl-Shift-r to switch keysets for resizing
bind -n C-p switch-client -T pane_table
bind -r -T pane_table Left resize-pane -L 5
bind -r -T pane_table Right resize-pane -R 5
bind -r -T pane_table Up resize-pane -U 5
bind -r -T pane_table Down resize-pane -D 5
bind -r -T pane_table h resize-pane -L 5
bind -r -T pane_table l resize-pane -R 5
# reload config file (change file location to your the tmux.conf you want to use)
bind R source-file ~/.config/tmux/tmux.conf
# Prefix Shift-K to clear scrollback history
bind K send-keys -R C-l \; clear-history
# Index windows and panes from 1 instead of 0
set -g base-index 1
set -g pane-base-index 1
set-window-option -g pane-base-index 1
set -g renumber-windows on
# Open panes in current directory
bind - split-window -v -c "#{pane_current_path}"
bind | split-window -h -c "#{pane_current_path}"
bind -n C-s switch-client -T split_table
bind -T split_table h split-window -v -c "#{pane_current_path}"
bind -T split_table - split-window -v -c "#{pane_current_path}"
bind -T split_table v split-window -h -c "#{pane_current_path}"
bind -T split_table | split-window -h -c "#{pane_current_path}"
set -g @catppuccin_flavour 'macchiato' # latte, frappe, macchiato, mocha
set -g @continuum-boot 'on'
set -g @continuum-boot-options 'iterm'
set -g @continuum-restore 'on'
set -g @resurrect-strategy-nvim 'session'
# catppuccin stylin
set -g @catppuccin_window_left_separator ""
set -g @catppuccin_window_right_separator " "
set -g @catppuccin_window_middle_separator " █"
set -g @catppuccin_window_number_position "right"
set -g @catppuccin_window_default_fill "number"
set -g @catppuccin_window_default_text "#W"
# set -g @catppuccin_window_default_text "#W"
set -g @catppuccin_window_current_fill "number"
set -g @catppuccin_window_current_text "#W#{?window_zoomed_flag,(),}"
set -g @catppuccin_status_modules_right "directory gitmux"
set -g @catppuccin_status_modules_left "session"
set -g @catppuccin_status_left_separator " "
set -g @catppuccin_status_right_separator " "
set -g @catppuccin_status_right_separator_inverse "no"
set -g @catppuccin_status_fill "icon"
set -g @catppuccin_status_connect_separator "no"
set -g @catppuccin_directory_text "#{b:pane_current_path}"
# set -g @catppuccin_meetings_text "#($HOME/.config/tmux/scripts/cal.sh)"
set -g @catppuccin_date_time_text "%H:%M"
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment