# Plugins set -g @plugin 'tmux-plugins/tpm' set -g @plugin 'tmux-plugins/tmux-sensible' set -g @plugin 'tmux-plugins/tmux-sessionist' set -g @plugin 'tmux-plugins/tmux-resurrect' set -g @plugin 'laktak/extrakto' set -g @plugin 'sainnhe/tmux-fzf' TMUX_FZF_OPTIONS="-p 80%,80% -m" TMUX_FZF_PREVIEW=0 bind f run-shell -b "~/.tmux/plugins/tmux-fzf/scripts/session.sh attach" if "test ! -d ~/.tmux/plugins/tpm" \ "run 'git clone https://github.com/tmux-plugins/tpm ~/.tmux/plugins/tpm && ~/.tmux/plugins/tpm/bin/install_plugins'" run '~/.tmux/plugins/tpm/tpm' # general unbind C-b unbind C-q unbind C-s set -g prefix 'C-s' bind 'C-s' send-prefix -2 set -sg escape-time 0 set -g default-terminal "xterm-256color" bind r source-file ~/.tmux.conf \; display '~/.tmux.conf sourced' set -g mouse on set-option -g allow-rename off set-option -g renumber-windows on # vim mode set-window-option -g mode-keys vi # navigation bind v split-window -h -c '#{pane_current_path}' bind s split-window -v -c '#{pane_current_path}' bind c new-window -c "#{pane_current_path}" unbind '"' unbind % ## swtich between pane bind h select-pane -L bind j select-pane -D bind k select-pane -U bind l select-pane -R ## resize the pane bind < resize-pane -L 5 bind > resize-pane -R 5 bind - resize-pane -D 5 bind + resize-pane -U 5 set -s copy-command 'wl-copy' # copy and paste like vim bind -T copy-mode-vi 'v' send -X begin-selection bind -T copy-mode-vi 'y' send -X copy-pipe-and-cancel "reattach-to-user-namespace wl-copy" bind P paste-buffer if-shell 'test -f "$HOME/.local/etc/tmux.conf"' 'source ~/.local/etc/tmux.conf' bind C-j command-prompt -p "join pane from: " "join-pane -h -s '%%'" # move pane to the far right/left/bottom/top bind H splitw -fhb \; swapp -t ! \; killp -t ! bind L splitw -fh \; swapp -t ! \; killp -t ! bind J splitw -fv \; swapp -t ! \; killp -t ! bind K splitw -fvb \; swapp -t ! \; killp -t !