Files
dotfiles/tmux/.tmux.conf
2021-01-06 12:59:56 +01:00

87 lines
2.6 KiB
Bash

set-environment -g PATH "/usr/local/bin:/bin:/usr/bin"
set -g default-terminal "screen-256color"
set -g history-limit 999999999
# Remap prefix
unbind C-b
set-option -g prefix C-a
bind-key C-a send-prefix
bind-key -n C-b send-keys C-b
#bind-key -n C-b send-prefix
setw -g mode-keys vi
set-option -g status-keys vi
bind-key -n C-E split-window -h
bind-key -n C-O split-window -v
bind | split-window -h -c '#{pane_current_path}'
bind - split-window -v -c '#{pane_current_path}'
# Switch windows
bind-key -n M-Left select-window -t -1
bind-key -n M-Right select-window -t +1
unbind '"'
unbind '%'
#bind-key -n M-left select-pane -L
#bind-key -n M-right select-pane -R
#bind-key -n M-up select-pane -U
#bind-key -n M-down select-pane -D
bind-key -n C-x resize-pane -Z
bind-key C-x send-keys C-x
bind k clear-history
bind-key a set-window-option synchronize-panes
bind r source-file ~/.tmux.conf\; display "Conf reloaded!"
set -g mouse on
# Vi copypaste mode
set-window-option -g mode-keys vi
bind-key -Tcopy-mode-vi 'v' send -X begin-selection
bind-key -Tcopy-mode-vi 'y' send -X copy-selection
bind -Tcopy-mode-vi y send -X copy-pipe "xclip -i -sel p -f | xclip -i -sel c" \; display-message "copied to system clipboard"
# Smart pane switching with awareness of vim splits
# See: https://github.com/christoomey/vim-tmux-navigator
is_vim='echo "#{pane_current_command}" | grep -iqE "(^|\/)g?(view|n?vim?x?)(diff)?$"'
bind -n C-h if-shell "$is_vim" "send-keys C-h" "select-pane -L"
bind -n C-j if-shell "$is_vim" "send-keys C-j" "select-pane -D"
bind -n C-k if-shell "$is_vim" "send-keys C-k" "select-pane -U"
bind -n C-l if-shell "$is_vim" "send-keys C-l" "select-pane -R"
# Copying
# move x clipboard into tmux paste buffer
bind C-p run "tmux set-buffer \"$(xclip -o)\"; tmux paste-buffer"
# move tmux copy buffer into x clipboard
set-option -s set-clipboard off
if '[ `uname` == Darwin ]' \
'source-file ~/.tmux/.mac_config'
source-file ~/.tmux/.tmux_config_powerline
# Escape timeout for nvim
set -sg escape-time 10
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
#set -g @plugin 'tmux-plugins/tmux-sensible'
set -g @plugin 'tmux-plugins/tmux-sidebar'
set -g @plugin 'tmux-plugins/tmux-open'
set -g @plugin 'tmux-plugins/tmux-yank'
set -g @plugin 'jimeh/tmux-themepack'
set -g @themepack 'powerline/double/red'
# Other examples:
# set -g @plugin 'github_username/plugin_name'
# set -g @plugin 'git@github.com/user/plugin'
# set -g @plugin 'git@bitbucket.com/user/plugin'
# Initialize TMUX plugin manager (keep this line at the very bottom of tmux.conf)
run '~/.tmux/plugins/tpm/tpm' # >> /tmp/tpm_out 2>&1 >> /tmp/tpm_out'