Add tmux configuration with vim-tmux-navigator integration#72
Merged
michaelbarton merged 6 commits intomasterfrom Mar 5, 2026
Merged
Add tmux configuration with vim-tmux-navigator integration#72michaelbarton merged 6 commits intomasterfrom
michaelbarton merged 6 commits intomasterfrom
Conversation
- 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
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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):C-awith custom keybindingsu(vertical) andi(horizontal)New Neovim plugin configuration (
nvim/lua/plugins/tmux-navigator.lua):C-h/j/k/lkeybindings for cross-pane/window navigationUpdated toggleterm keybindings (
nvim/lua/plugins/toggleterm.lua):wincmdnavigation withTmuxNavigate*commands in terminal modeUpdated Ansible playbook (
ansible/tasks/link_files.yml):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