Skip to content

Add tmux configuration with vim-tmux-navigator integration#72

Merged
michaelbarton merged 6 commits intomasterfrom
claude/ghostty-multiplexer-setup-sO3Vk
Mar 5, 2026
Merged

Add tmux configuration with vim-tmux-navigator integration#72
michaelbarton merged 6 commits intomasterfrom
claude/ghostty-multiplexer-setup-sO3Vk

Conversation

@michaelbarton
Copy link
Owner

Summary

This PR adds tmux configuration and integrates vim-tmux-navigator for seamless navigation between tmux panes and Neovim windows using consistent keybindings.

Key Changes

  • New tmux configuration (tmux/tmux.conf):

    • Set Fish shell as default with tmux-256color terminal support
    • Configure prefix key to C-a with custom keybindings
    • Add pane splitting with u (vertical) and i (horizontal)
    • Enable mouse support and increase history limit to 100,000
    • Integrate TPM (Tmux Plugin Manager) with vim-tmux-navigator and Catppuccin theme
  • New Neovim plugin configuration (nvim/lua/plugins/tmux-navigator.lua):

    • Add vim-tmux-navigator plugin with lazy loading
    • Configure C-h/j/k/l keybindings for cross-pane/window navigation
  • Updated toggleterm keybindings (nvim/lua/plugins/toggleterm.lua):

    • Replace wincmd navigation with TmuxNavigate* commands in terminal mode
    • Enables consistent navigation between terminal buffers and tmux panes
  • Updated Ansible playbook (ansible/tasks/link_files.yml):

    • Add symlink task for tmux configuration file to home directory

Implementation Details

The vim-tmux-navigator plugin enables seamless navigation across tmux panes and Neovim windows using the same keybindings (C-h/j/k/l), improving workflow efficiency when working with split layouts across both tools.

https://claude.ai/code/session_01XGAkWd2qoS56cLPZ6rf4Xy

claude added 6 commits March 2, 2026 21:42
- Add modernized tmux.conf: C-a prefix, Fish shell, Catppuccin Frappe
  theme, TPM plugin manager, true color support for Ghostty, and
  vim-tmux-navigator for seamless pane switching
- Add vim-tmux-navigator nvim plugin for C-h/j/k/l navigation across
  both nvim splits and tmux panes
- Update toggleterm terminal keymaps to use TmuxNavigate commands
  instead of raw wincmd, so navigation works from terminal buffers too
- Add tmux.conf symlink to Ansible playbook

https://claude.ai/code/session_01XGAkWd2qoS56cLPZ6rf4Xy
Fish config now auto-creates or reattaches to a tmux session named
"main" when launched inside Ghostty. Skipped when already inside tmux,
inside nvim terminal buffers, or in non-interactive contexts.

https://claude.ai/code/session_01XGAkWd2qoS56cLPZ6rf4Xy
Quick reference for navigating between Ghostty tabs and tmux
windows/panes, including the custom keybinds from tmux.conf.

https://claude.ai/code/session_01XGAkWd2qoS56cLPZ6rf4Xy
Clones TPM (tmux plugin manager) and runs plugin installation so
vim-tmux-navigator and catppuccin theme are deployed automatically.
Wired into the main playbook with a `tmux` tag.

https://claude.ai/code/session_01XGAkWd2qoS56cLPZ6rf4Xy
- Set allow-rename off in tmux so manual window names stick
  instead of being overridden by shell escape sequences
- Unbind super+t and super+n in Ghostty since tmux handles
  all tab/window management

https://claude.ai/code/session_01XGAkWd2qoS56cLPZ6rf4Xy
Remove Ghostty tabs/windows section and the "when to use what" table
since Cmd-T and Cmd-N are now unbound. All window management goes
through tmux.

https://claude.ai/code/session_01XGAkWd2qoS56cLPZ6rf4Xy
@michaelbarton michaelbarton merged commit 5a3955c into master Mar 5, 2026
1 check passed
@michaelbarton michaelbarton deleted the claude/ghostty-multiplexer-setup-sO3Vk branch March 5, 2026 02:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants