# Prefix Key unbind C-b set -g prefix C-q bind C-q send-prefix # Settings set -g default-terminal "screen-256color" set -ga terminal-overrides ",*256col*:Tc" set -g detach-on-destroy on set -g history-limit 50000 set -g display-time 3000 set -g mouse on # Pre-Tmux 2.6 macOS fix for pbcopy, pbpaste, and launchctl. Requires: # brew install reattach-to-user-namespace if-shell -b '[ "$(echo "$(tmux -V | cut -c 6-) < 2.6" | bc)" = 1 ] && [ -n "$(command -v reattach-to-user-namespace)" ]' \ "set-option -g default-command 'reattach-to-user-namespace -l $SHELL'" # Set window notifications setw -g monitor-activity on set -g visual-activity off # Keybindings bind r source-file ~/.tmux.conf # Ctrl versions of default keybindings bind C-c new-window bind C-n next-window bind C-p previous-window bind C-l last-window bind C-s choose-session bind C-w choose-window bind C-k confirm-before kill-window # Kill window bind k confirm-before kill-window # Split window into panes bind h split-window -h bind v split-window -v bind C-h split-window -h bind C-v split-window -v unbind i bind u display-message bind i select-pane -t :.- bind C-i select-pane -t :.- bind C-o select-pane -t :.+ unbind Enter bind Enter resize-pane -Z bind C-Enter resize-pane -Z # Enable smart pane switching that's Emacs aware. is_emacs='echo "#{pane_current_command}" | grep -iqE "(^|\/)emacs(-[^\/]+)?$"' # Use Alt-[i/k/j/l] keys without prefix key to switch panes if current pane is # not running Emacs. If the pane is running Emacs, let Emacs receive the # keybindings instead. bind -n M-i if-shell "$is_emacs" "send-keys M-i" "select-pane -U" bind -n M-k if-shell "$is_emacs" "send-keys M-k" "select-pane -D" bind -n M-j if-shell "$is_emacs" "send-keys M-j" "select-pane -L" bind -n M-l if-shell "$is_emacs" "send-keys M-l" "select-pane -R" bind -T copy-mode M-i if-shell "$is_emacs" "send-keys M-i" "select-pane -U" bind -T copy-mode M-k if-shell "$is_emacs" "send-keys M-k" "select-pane -D" bind -T copy-mode M-j if-shell "$is_emacs" "send-keys M-j" "select-pane -L" bind -T copy-mode M-l if-shell "$is_emacs" "send-keys M-l" "select-pane -R" bind -T copy-mode-vi M-i if-shell "$is_emacs" "send-keys M-i" "select-pane -U" bind -T copy-mode-vi M-k if-shell "$is_emacs" "send-keys M-k" "select-pane -D" bind -T copy-mode-vi M-j if-shell "$is_emacs" "send-keys M-j" "select-pane -L" bind -T copy-mode-vi M-l if-shell "$is_emacs" "send-keys M-l" "select-pane -R" # Toogle synchronize-panes without prefix key. bind -n M-I setw synchronize-panes # # Plugins via TPM (https://github.com/tmux-plugins/tpm) # # Install TPM with: # # git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm # set -g @plugin 'jimeh/tmux-themepack' set -g @plugin 'tmux-plugins/tpm' set -g @plugin 'tmux-plugins/tmux-copycat' set -g @plugin 'tmux-plugins/tmux-yank' set -g @plugin 'nhdaly/tmux-better-mouse-mode' # Set Theme from tmux-themepack set -g @themepack 'powerline/default/green' # Configure tmux-yank set -g @yank_action 'copy-pipe' # Init Plugin Manager run "${HOME}/.tmux/plugins/tpm/tpm"