├── 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 |
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 |
26 |
27 | ### Style 2 (bubbles):
28 |
29 |
30 | ### Features a zoom icon in the bottom right to indicate if you're zoomed in on a pane
31 |
32 |
33 | ### Designed to pair perfectly with my Neovim config
34 |
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 |
--------------------------------------------------------------------------------