Skip to content

Instantly share code, notes, and snippets.

@crides
Created January 24, 2020 20:35
Show Gist options
  • Save crides/1f5945742caca5601eac2172fa26740b to your computer and use it in GitHub Desktop.
Save crides/1f5945742caca5601eac2172fa26740b to your computer and use it in GitHub Desktop.
set -g default-terminal 'xterm-256color'
set -g status-position top
set -g mouse on
set -g renumber-windows on
set -ga terminal-overrides ',xterm-256color:Tc'
# set -as terminal-overrides ',*:indn@'
set -g set-titles on
set -g set-titles-string '#S / #W'
set -g display-time 0
set -g history-limit 8192
# set -g monitor-activity on
# set -g visual-activity off
set -g lock-after-time 300
set -g lock-command 'pipes.sh -B -r 3000 -f 40 -p 3 -c{1..7}'
# Copy & Paste stuff
bind -T copy-mode-vi Enter send-keys -X copy-pipe-and-cancel 'xsel -ib'
bind -T copy-mode-vi MouseDragEnd1Pane send-keys -X copy-pipe-and-cancel 'xsel -ib'
bind -T root MouseDown2Pane run-shell 'tmux set-buffer "$(xsel -ob)" && tmux paste-buffer'
bind ] run-shell 'tmux set-buffer -- "$(xsel -ob)" && tmux paste-buffer'
# More keybinds
bind W choose-tree -Zw
# Change window; if is in zoom then will end up in zoomed state
bind w if-shell -F "#{window_zoomed_flag}" "select-pane -t :.+; resize-pane -Z" "select-pane -t :.+"
# Split, new in same directory
bind % split-window -h -c '#{pane_current_path}'
bind '"' split-window -c '#{pane_current_path}'
# Insert window at the next index, not at the end, also in same directory
bind C new-window -a -c '#{pane_current_path}'
# Pane navigation
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
bind \ select-window -l
# Window movement
bind -r S-Left swap-window -t -1
bind -r S-Right swap-window -t +1
# Use backtick as leader
unbind C-b
set -g prefix `
bind ` send-prefix
# Reload config
bind R source-file ~/.tmux.conf
# Fast escapes
set -sg escape-time 10
# Start windows and panes at 1, not 0
set -g base-index 1
setw -g pane-base-index 1
# vi mode
setw -g mode-keys vi
# Powerline goodness
# source '/home/steven/.vim/bundle/powerline/powerline/bindings/tmux/powerline.conf'
# List of plugins
set -g @plugin 'tmux-plugins/tpm'
set -g @plugin 'arcticicestudio/nord-tmux'
set -g @nord_tmux_show_status_content "1"
set -g @plugin 'tmux-plugins/tmux-prefix-highlight'
set -g @prefix_highlight_show_copy_mode 'on'
set -g @plugin 'tmux-plugins/tmux-resurrect'
set -g @resurrect-capture-pane-contents 'on'
set -g @plugin 'tmux-plugins/tmux-continuum'
# set -g @continuum-restore 'on'
set -g @plugin 'nhdaly/tmux-better-mouse-mode'
set -g @emulate-scroll-for-no-mouse-alternate-buffer 'on'
# qutebrowser/EasyMotion like hints, yank object after following hint
set -g @plugin 'Morantron/tmux-fingers'
set -g @fingers-copy-command 'xsel -ib'
# set -g @plugin 'tmux-plugins/tmux-sensible'
# 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 -b '~/.tmux/plugins/tpm/tpm'
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment