Created
January 24, 2026 12:02
-
-
Save AlexZeitler/71705526091f41f459b97235e3534d58 to your computer and use it in GitHub Desktop.
tmux config
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # /home/terrywang/.tmux.conf | |
| # Based on tmux book written by Brian P. Hogan | |
| # c-a o to switch to another panel | |
| # c-d to close shell | |
| # c-a ! to close panel | |
| # c-a w to list windows | |
| # c-a " split pane horizontally | |
| # c-a % split pane vertically | |
| # Setting the prefix from C-b to C-a | |
| # set -g prefix C-a | |
| # Free the original Ctrl-b prefix keybinding | |
| # unbind C-b | |
| # Setting the delay between prefix and command | |
| set -s escape-time 1 | |
| # Ensure that we can send Ctrl-a to other apps | |
| bind C-a send-prefix | |
| # history buffer - max number of lines for each window | |
| set -g history-limit 10000 | |
| # Set Terminal Emulator Titles - OFF by default | |
| # set -g set-titles on | |
| # Set the base index for windows to 1 instead of 0 | |
| set -g base-index 1 | |
| # Set the base index for panes to 1 instead of 0 | |
| setw -g pane-base-index 1 | |
| # Switch to last window | |
| unbind l | |
| bind-key C-a last-window | |
| # unbind o | |
| # bind-key C-a select-pane | |
| # Reload the file with Prefix r | |
| bind r source-file ~/.tmux.conf \; display "Reloaded!" | |
| # Splitting panes replace % and " | |
| # bind | split-window -h | |
| # bind - split-window -v | |
| # moving between panes | |
| bind h select-pane -L | |
| bind j select-pane -D | |
| bind k select-pane -U | |
| bind l select-pane -R | |
| # Quick pane selection | |
| bind -r C-h select-window -t :- | |
| bind -r C-l select-window -t :+ | |
| # Pane resizing | |
| bind -r H resize-pane -L 5 | |
| bind -r J resize-pane -D 5 | |
| bind -r K resize-pane -U 5 | |
| bind -r L resize-pane -R 5 | |
| # Mouse support | |
| # setw -g mode-mouse on | |
| # set -g mouse-select-pane off | |
| # set -g mouse-resize-pane off | |
| # set -g mouse-select-window off | |
| # incompatible since tmux 2.1 | |
| set -g mouse on | |
| # Set the default terminal mode to 256color mode | |
| set -g default-terminal "screen-256color" | |
| # Enable clipboard | |
| set -as terminal-features ',xterm-256color:clipboard' | |
| # Enable activity alerts | |
| setw -g monitor-activity on | |
| set -g visual-activity on | |
| # tmux coloring | |
| # Set the status line's colors | |
| set -g status-fg white | |
| set -g status-bg black | |
| # Set the color of the window list | |
| #setw -g window-status-fg cyan | |
| #setw -g window-status-bg default | |
| #setw -g window-status-attr dim | |
| set-window-option -g window-status-style fg=cyan,bg=default,dim | |
| # Set colors for the active window | |
| set-window-option -g window-status-current-style fg=white,bg=red,bright | |
| # Pane colors | |
| set-option -g pane-border-style fg=green,bg=black | |
| set-option -g pane-active-border-style fg=white,bg=green | |
| # Command / message line | |
| set-option -g message-style fg=white,bg=black,bright | |
| # Status line left side | |
| set -g status-left-length 40 | |
| set -g status-left "#[fg=green]Session: #S #[fg=yellow]W#I #[fg=cyan]P#P" | |
| # No longer necessary since tmux 2.1 | |
| # set -g status-utf8 on | |
| # Status line right side | |
| # 15% | 25 Oct 14:50 | |
| set -g status-right "#[fg=cyan]%d %b %R #[fg=magenta]#H" | |
| # Update the status bar every sixty seconds | |
| set -g status-interval 60 | |
| # Center the window list | |
| set -g status-justify centre | |
| # Enable vi keys | |
| setw -g mode-keys vi | |
| # copy/paste using tmux-yank | |
| # These bindings are for X Windows only. If you're using a different | |
| # window system you have to replace the `xsel` commands with something | |
| # else. See https://github.com/tmux/tmux/wiki/Clipboard#available-tools | |
| bind -T copy-mode DoubleClick1Pane select-pane \; send -X select-word \; send -X copy-pipe-no-clear "xsel -i" | |
| bind -T copy-mode-vi DoubleClick1Pane select-pane \; send -X select-word \; send -X copy-pipe-no-clear "xsel -i" | |
| bind -n DoubleClick1Pane select-pane \; copy-mode -M \; send -X select-word \; send -X copy-pipe-no-clear "xsel -i" | |
| bind -T copy-mode TripleClick1Pane select-pane \; send -X select-line \; send -X copy-pipe-no-clear "xsel -i" | |
| bind -T copy-mode-vi TripleClick1Pane select-pane \; send -X select-line \; send -X copy-pipe-no-clear "xsel -i" | |
| bind -n TripleClick1Pane select-pane \; copy-mode -M \; send -X select-line \; send -X copy-pipe-no-clear "xsel -i" | |
| bind -n MouseDown2Pane run "tmux set-buffer -b primary_selection \"$(xsel -o)\"; tmux paste-buffer -b primary_selection; tmux delete-buffer -b primary_selection" | |
| bind -T copy-mode C-c send -X copy-pipe-no-clear "xsel -i --clipboard" | |
| bind -T copy-mode-vi C-c send -X copy-pipe-no-clear "xsel -i --clipboard" | |
| set -s default-terminal 'tmux-256color' | |
| # List of plugins | |
| set -g @plugin 'tmux-plugins/tpm' | |
| set -g @plugin 'tmux-plugins/tmux-sensible' | |
| set -g @plugin 'tmux-plugins/tmux-yank' | |
| set -g @dracula-day-month true | |
| set -g @dracula-show-fahrenheit false | |
| set -g @dracula-show-left-icon window | |
| set -g @dracula-show-powerline true | |
| set -g @dracula-border-contrast true | |
| set -g @dracula-show-location true | |
| set -g @dracula-plugins "cpu-usage ram-usage git weather" | |
| set -g @dracula-fixed-location "Karlsruhe" | |
| # Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf) | |
| run '~/.tmux/plugins/tpm/tpm' | |
| set -g @plugin 'dracula/tmux' | |
| set -g pane-border-format "#{pane_index} #{pane_title}" | |
| set -g pane-border-status bottom | |
| set -g set-clipboard on | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: SomeApp | |
| root: ~/some-path/to/some-app | |
| windows: | |
| - app: | |
| layout: main-vertical | |
| panes: | |
| - docker compose up -d && bin/dev | |
| - editor: | |
| layout: main-vertical | |
| panes: | |
| - nvim . | |
| - shell: | |
| layout: main-vertical | |
| panes: | |
| - | |
| - claude: | |
| layout: main-vertical | |
| panes: | |
| - claude | |
| - pg: | |
| layout: main-vertical | |
| panes: | |
| - sqlit |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment