Skip to content

Instantly share code, notes, and snippets.

@jameskyle
Last active August 15, 2019 17:30
Show Gist options
  • Save jameskyle/ce9b767bb1aea76eb90e to your computer and use it in GitHub Desktop.
Save jameskyle/ce9b767bb1aea76eb90e to your computer and use it in GitHub Desktop.
unbind-key C-b
set-option -g prefix C-s
bind-key C-s last-window
bind s send-prefix
# large history
set-option -g history-limit 100000
# enable mouse mode
#set -g mouse-utf8 on
set -g mouse on
#bind -n WheelUpPane copy-mode
#bind -n WheelDownPane copy-mode
# automatically set window title
set -g set-titles on
#set -g set-titles-string '#S:#I.#P #W'
#setw -g automatic-rename
# window splitting
unbind %
bind | split-window -h
bind - split-window -v
# default terminal
set -g default-terminal "screen-256color"
# terminal locking - apt-get install vlock
unbind ^X
bind ^X lock-server
set -g lock-command vlock
set -g lock-after-time 1200
# 0 is too far from 1
set -g base-index 1
# notify when other windows have activity
setw -g monitor-activity on
set -g visual-activity on
# history
set -g history-limit 5000
# vi keybindigs
setw -g mode-keys vi
# for vim
setw -g xterm-keys on
# window and pane swapping
#bind / command-prompt "find-window '%%'"
#bind S command-prompt -p "swap window for:" "swap-window -t '%%'"
#bind P command-prompt -p "swap pane for:" "swap-pane -t '%%'"
#bind J command-prompt -p "join pane from:" "join-pane -t '%%'"
#bind M command-prompt -p "move to:" "move-window -t '%%'"
bind b break-pane
# horizontal pane movements
bind j select-pane -D
bind k select-pane -U
bind h select-pane -L
bind l select-pane -R
# window resizing
bind Down resize-pane -D 10
bind Up resize-pane -U 10
bind Left resize-pane -L 10
bind Right resize-pane -R 10
# colors
set -g status-style fg=cyan,bg=default,dim
set -g message-style fg=black,bg=default,bright
set -g window-status-style fg=white,bg=default,dim
set -g window-status-current-style fg=blue,bg=default,bright
# ssh
bind-key S command-prompt "new-window -n %1 'ssh %1'"
# update our environment
set -g update-environment "DISPLAY SSH_ASKPASS SSH_AUTH_SOCK SSH_AGENT_PID SSH_CONNECTION WINDOWID XAUTHORITY"
# `+r reloads the configuration, handy
bind r source-file ~/.tmux.conf
# James Options
bind = select-layout tiled
set -g escape-time 20
# osx copy
set-option -g default-command "reattach-to-user-namespace -l $(basename $SHELL)"
bind C-c run "tmux save-buffer - | reattach-to-user-namespace pbcopy"
bind C-v run "reattach-to-user-namespace pbpaste | tmux load-buffer - && tmux paste-buffer"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment