├── README.md └── tmux.conf /README.md: -------------------------------------------------------------------------------- 1 | # tmux_config 2 | 3 | ## This repository is basically deprecated, and no longer accurately represents the config I use (see [my current dev-env](https://github.com/JackDerksen/dev-env)). Feel free to keep using it, of course! 4 | 5 | --- 6 | 7 | My custom Catppuccin-themed Tmux config, designed to pair perfectly with my [Neovim config](https://github.com/JackDerksen/viis-lazyvim). Inspired by Dreams Of Code and DevOps Toolbox. 8 | Requires tpm for packages, and a [nerd font](https://www.nerdfonts.com/) if you want icons. 9 | 10 | Tmux 3 11 | 12 | 13 | The leader key is set to `ctrl + space`, the only correct option. This config also has transparent background colours on the status bar, so it should look sexy with any terminal background colour you want to use. 14 | 15 | To install on Linux, place tmux.conf in ~/.config/tmux/ , then install packages via tpm with ` + i`. 16 | 17 | ### Useful Keymaps: 18 | - ` + r` to source/refresh the Tmux config file 19 | - ` + -` to split window horizontally 20 | - ` + |` to split window vertically 21 | 22 | ### There are two styles in the tmux.conf file, un-comment whichever you prefer! 23 | 24 | ### Style 1 (simple): 25 | Tmux 1 26 | 27 | ### Style 2 (bubbles): 28 | Tmux 2 29 | 30 | ### Features a zoom icon in the bottom right to indicate if you're zoomed in on a pane 31 | Tmux 4 32 | 33 | ### Designed to pair perfectly with my Neovim config 34 | Tmux 5 35 | -------------------------------------------------------------------------------- /tmux.conf: -------------------------------------------------------------------------------- 1 | # Hack to remove weird string of characters on startup 2 | set -sg escape-time 50 3 | 4 | # Mouse support 5 | set -g mouse on 6 | 7 | # Start windows and panes at 1, not 0 8 | set -g base-index 1 9 | set -g pane-base-index 1 10 | set-window-option -g pane-base-index 1 11 | set-option -g renumber-windows on 12 | 13 | # Set true colors 14 | set-option -sa terminal-overrides ",xterm*:Tc" 15 | set-option -g focus-events on 16 | 17 | # Set prefix to ctrl + space 18 | unbind C-b 19 | set -g prefix C-Space 20 | bind C-Space send-prefix 21 | 22 | # Bind r to source this file 23 | unbind r 24 | bind r source ~/.config/tmux/tmux.conf 25 | 26 | # Shift Alt vim keys to switch windows 27 | bind -n M-H previous-window 28 | bind -n M-L next-window 29 | 30 | # Bind intuitive window splits 31 | bind | split-window -h 32 | bind _ split-window -v 33 | 34 | # Plugins 35 | set -g @plugin 'tmux-plugins/tpm' 36 | set -g @plugin 'tmux-plugins/tmux-sensible' 37 | set -g @plugin 'christoomey/vim-tmux-navigator' 38 | set -g @plugin 'tmux-plugins/tmux-yank' 39 | 40 | # Set vi-mode 41 | set-window-option -g mode-keys vi 42 | 43 | # ^ Keybindings 44 | bind-key -T copy-mode-vi v send-keys -X begin-selection 45 | bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle 46 | bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel 47 | 48 | # Open panes in the current directory 49 | bind '_' split-window -v -c "#{pane_current_path}" 50 | bind | split-window -h -c "#{pane_current_path}" 51 | 52 | # Status bar customization 53 | set -g status-interval 10 # update the status bar every 10 seconds 54 | set -g status-justify left 55 | set -g status-position bottom 56 | set -g status-left-length 200 # increase length (from 10) 57 | set -g status-style 'bg=default' # transparent background 58 | 59 | # STATUS BAR STYLE 1 - PLAIN 60 | #set -g status-left "#[fg=#b4befe,bg=default]  #S #[fg=#45475a,bg=default]|" 61 | #set -g status-right "#[fg=#eba0ac,bg=default]#{?window_zoomed_flag, ,} #[fg=#45475a,bg=default]|#[fg=#f2dcdc,bg=default] %m/%d/%y " 62 | #set -g window-status-current-format '#[fg=#b4befe,bg=default] #I#W' 63 | #set -g window-status-format '#[fg=gray,bg=default] #I #W' 64 | 65 | # STATUS BAR STYLE 2 - BUBBLES 66 | set -g status-left '#[fg=#2b2a30,bg=default]#[fg=#b4befe,bg=#2b2a30]  #S #[fg=#2b2a30,bg=default]#[fg=#45475a,bg=default] |' 67 | set -g status-right '#[fg=#2b2a30,bg=default] #[fg=#eba0ac,bg=#2b2a30]#{?window_zoomed_flag,,}#[fg=#2b2a30,bg=default] #[fg=#45475a,bg=default]| #[fg=#2b2a30,bg=default]#[fg=#f2dcdc,bg=#2b2a30]%m/%d/%y#[fg=#2b2a30,bg=default]' 68 | set -g window-status-current-format '#[fg=#2b2a30,bg=default] #[fg=#b4befe,bg=#2b2a30]#I#W#[fg=#2b2a30,bg=default]' 69 | set -g window-status-format '#[fg=gray,bg=default] #I #W ' 70 | 71 | set -g window-status-last-style 'fg=white,bg=default' 72 | set -g pane-border-style 'fg=#b4befe' 73 | set -g pane-active-border-style 'fg=#b4befe' 74 | set -g default-terminal "${TERM}" 75 | set -g message-command-style bg=default,fg=#f2dcdc 76 | set -g message-style bg=default,fg=#f2dcdc 77 | set -g mode-style bg=default,fg=#f2dcdc 78 | 79 | #set -g @tmux-last-color on 80 | 81 | run '~/.tmux/plugins/tpm/tpm' 82 | --------------------------------------------------------------------------------