53 lines
1.6 KiB
Bash
53 lines
1.6 KiB
Bash
# Base settings
|
|
set-option -sa terminal-overrides ",xterm*:Tc"
|
|
set -g mouse on
|
|
set -g status-position top
|
|
set -g status-style "bg=default"
|
|
set -g status-justify absolute-centre
|
|
set -g status-left " #S"
|
|
set -g status-right ""
|
|
set -g window-status-format "#I:#W" # Index and Name
|
|
set -g window-status-current-format "#I:#W" # Current window
|
|
set -g window-status-current-style "fg=green bg=default bold"
|
|
|
|
# List of plugins
|
|
set -g @plugin 'tmux-plugins/tpm'
|
|
set -g @plugin 'christoomey/vim-tmux-navigator'
|
|
|
|
# Shift Alt vim keys to switch windows
|
|
bind -n M-P previous-window
|
|
bind -n M-N next-window
|
|
|
|
# Start windows and panes at 1, not 0
|
|
set -g base-index 1
|
|
set -g pane-base-index 1
|
|
set-window-option -g pane-base-index 1
|
|
set-option -g renumber-windows on
|
|
|
|
# set vi-mode
|
|
set-window-option -g mode-keys vi
|
|
|
|
# Custom bindings
|
|
|
|
# Base config
|
|
bind r source-file ~/.tmux.conf
|
|
|
|
# Open panes in the same directory
|
|
bind '"' split-window -v -c "#{pane_current_path}"
|
|
bind % split-window -h -c "#{pane_current_path}"
|
|
bind c new-window -c "#{pane_current_path}"
|
|
|
|
# Keybindings for VI mode
|
|
bind-key -T copy-mode-vi v send-keys -X begin-selection
|
|
bind-key -T copy-mode-vi C-v send-keys -X rectangle-toggle
|
|
bind-key -T copy-mode-vi y send-keys -X copy-selection-and-cancel
|
|
|
|
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
|
|
run '~/.tmux/plugins/tpm/tpm'
|
|
|
|
# Keymaps for resize-pane
|
|
bind-key -r -T prefix C-Up resize-pane -U 10
|
|
bind-key -r -T prefix C-Down resize-pane -D 10
|
|
bind-key -r -T prefix C-Left resize-pane -L 10
|
|
bind-key -r -T prefix C-Right resize-pane -R 10
|
|
|