Files
dotfiles/laptop/.config/tmux/tmux.conf
Rob Harbaugh 5c334a8b74 Add neovim config, migrate tmux to vim-style bindings
- Add kickstart-based neovim config with catppuccin, telescope, LSP,
  treesitter, DAP, vimtex, harpoon, and lazygit integration
- Remap tmux pane navigation and splits to hjkl / s / v

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-21 14:00:06 -04:00

52 lines
1.4 KiB
Bash

# tmux.conf — vim-style keybindings
# Splits
unbind '"'
unbind %
bind s split-window -v -c "#{pane_current_path}"
bind v split-window -h -c "#{pane_current_path}"
# Close
bind x kill-pane
# Pane navigation: prefix+hjkl and M-hjkl without prefix
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
bind -n M-h select-pane -L
bind -n M-j select-pane -D
bind -n M-k select-pane -U
bind -n M-l select-pane -R
# Copy mode with vi keys
set-window-option -g mode-keys vi
# General
set -g mouse on
set -g history-limit 10000
set -sg escape-time 0 # no delay for escape — important for vim
set -g focus-events on
set -g default-terminal "tmux-256color"
set -as terminal-overrides ',*:Tc' # true color passthrough
set -g xterm-keys on # pass modified keys (S-Arrow etc.) to inner apps
set -g base-index 1
set -g pane-base-index 1
set -g renumber-windows on
# Status bar — catppuccin mocha
set -g status-style "bg=#1e1e2e fg=#cdd6f4"
set -g status-left "#[fg=#89b4fa,bold] #S "
set -g status-right "#[fg=#a6e3a1]#H #[fg=#cdd6f4]%H:%M "
set -g status-left-length 30
set -g window-status-format "#[fg=#6c7086] #I #W "
set -g window-status-current-format "#[fg=#cdd6f4,bold] #I #W "
set -g pane-border-style "fg=#313244"
set -g pane-active-border-style "fg=#89b4fa"
set -g message-style "bg=#313244 fg=#cdd6f4"