Skip to content

Instantly share code, notes, and snippets.

@tonatiuh
Created February 18, 2016 16:33
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tonatiuh/2cbf742f0205e45b5d40 to your computer and use it in GitHub Desktop.
Save tonatiuh/2cbf742f0205e45b5d40 to your computer and use it in GitHub Desktop.
unbind C-b
set -g prefix C-Space
bind Space send-prefix
set -g default-terminal "screen-256color"
# invoke reattach-to-user-namespace every time a new window/pane is opened
set-option -g default-command "reattach-to-user-namespace -l fish"
# Use vim keybindings in copy mode
setw -g mode-keys vi
# Setup 'v' to begin selection as in Vim
bind-key -t vi-copy v begin-selection
bind-key -t vi-copy y copy-pipe "reattach-to-user-namespace pbcopy"
# move to panes simulating vim keys
bind h select-pane -L
bind j select-pane -D
bind k select-pane -U
bind l select-pane -R
bind & kill-window
bind-key a send-key C-a # `Ctrl-a a` sends `Ctrl-a`
bind-key n command-prompt 'rename-window %%'
bind-key N command-prompt 'rename-session %%'
bind-key -r < swap-window -t :-
bind-key -r > swap-window -t :+
set-window-option -g pane-base-index 1
set -g base-index 1 # start window index of 1
set -sg escape-time 1 # fixes some delay issues in vim
# new shells with current directory
bind '"' split-window -c "#{pane_current_path}"
bind % split-window -h -c "#{pane_current_path}"
bind c new-window -c "#{pane_current_path}" -n "shell"
# Define my custom menu bar
# status bar colors
# alignment settings
set-option -g status-justify centre
# status left options
set-option -g status-left-length 20
# window list options
setw -g automatic-rename on
set-window-option -g window-status-format '#[dim]#I:#[default]#W#[fg=grey,dim]'
set-window-option -g window-status-current-format '#[fg=blue,bold]#I#[fg=blue]:#[fg=blue]#W#[fg=dim]'
# status left options
set -g status-left ' #S '
# status left options
set -g status-right ' %a '
set -g status-position top
bind-key b set-option status
# session name to iterm2 tab name
set-option -g set-titles on
set-option -g set-titles-string "#{session_name}"
# bind a reload key
bind R source-file ~/.tmux.conf \; display-message " Config reloaded..".
set -g default-shell /usr/local/bin/fish
bind -r a select-pane -t .+1 \; resize-pane -Z
# set-option -g status on
set-option -g status-utf8 on
set-option -g status-justify "centre"
set-option -g status-left-length 40
set-option -g status-right-length 40
set -g status-bg colour255
set -g status-fg black
# set-window-option -g window-status-current-format " #I #W "
# mouse support
# set -g mode-mouse on
# set -g mouse-resize-pane on
# set -g mouse-select-pane on
# set -g mouse-select-window on
set-option -g history-limit 4000
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment