Created
April 3, 2020 11:36
-
-
Save tggreene/75a520a6d1a5fee434656917edc3aca6 to your computer and use it in GitHub Desktop.
Tmux for perverts
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Bind C-a to leader key | |
unbind C-a | |
set -g prefix C-a | |
bind C-a send-prefix | |
#set -g prefix C-Space | |
#bind C-Space send-prefix | |
# 0 is too far from ` ;) | |
set -g base-index 1 | |
set -g pane-base-index 1 | |
# Pane Selection | |
#bind-key -n M-1 select-pane -t 0 | |
#bind-key -n M-2 select-pane -t 1 | |
#bind-key -n M-3 select-pane -t 2 | |
# bind-key -n M-4 select-pane -t 3 | |
#bind-key -n M-5 select-pane -t 4 | |
#bind-key -n M-6 select-pane -t 5 | |
#bind-key -n M-7 select-pane -t 6 | |
#bind-key -n M-8 select-pane -t 7 | |
#bind-key -n M-9 select-pane -t 8 | |
#bind-key -n M-0 select-pane -t 9 | |
# Automatically set window title | |
# set-window-option -g automatic-rename on | |
# set-option -g set-titles on | |
#set -g default-terminal screen-256color | |
set -g status-keys vi | |
set -g history-limit 10000 | |
set -g mode-keys vi | |
set-option -g mouse on | |
set -g monitor-activity on | |
bind-key v split-window -h | |
bind-key s split-window -v | |
bind '"' split-window -c "#{pane_current_path}" | |
bind % split-window -h -c "#{pane_current_path}" | |
bind c new-window -c "#{pane_current_path}" | |
bind-key J resize-pane -D 5 | |
bind-key K resize-pane -U 5 | |
bind-key H resize-pane -L 5 | |
bind-key L resize-pane -R 5 | |
bind-key C-k clear-history | |
bind-key M-j resize-pane -D | |
bind-key M-k resize-pane -U | |
bind-key M-h resize-pane -L | |
bind-key M-l resize-pane -R | |
# Vim style pane selection | |
bind h select-pane -L | |
bind j select-pane -D | |
bind k select-pane -U | |
bind l select-pane -R | |
# Use Alt-vim keys without prefix key to switch panes | |
bind -n M-h select-pane -L | |
bind -n M-j select-pane -D | |
bind -n M-k select-pane -U | |
bind -n M-l select-pane -R | |
bind -n M-H previous-window | |
bind -n M-L next-window | |
# Use Alt-arrow keys without prefix key to switch panes | |
bind -n M-Left select-pane -L | |
bind -n M-Right select-pane -R | |
bind -n M-Up select-pane -U | |
bind -n M-Down select-pane -D | |
# Shift arrow to switch windows | |
bind -n S-Left previous-window | |
bind -n S-Right next-window | |
# Shift arrow to switch windows | |
#bind -n M-{ switch-client -p | |
#bind -n M-} switch-client -n | |
# Good copying? | |
#bind-key -t vi-copy 'y' copy-pipe "pbcopy" | |
# No delay for escape key press | |
set -sg escape-time 0 | |
# Reload tmux config | |
bind r source-file ~/.tmux.conf | |
# set to main-horizontal, 66% height for main pane | |
bind -n M-m run-shell "~/.tmux/scripts/resize-adaptable.sh -l main-vertical -p 50" | |
# Same thing for verical layouts | |
bind -n M-M run-shell "~/.tmux/scripts/resize-adaptable.sh -l main-horizontal -p 66" | |
# theme | |
# set -g status-bg black | |
# set -g status-fg white | |
# set -g window-status-current-bg white | |
# set -g window-status-current-fg black | |
# set -g window-status-current-attr bold | |
# set -g status-interval 60 | |
# set -g status-left-length 30 | |
# set -g status-left '#[fg=green](#S) #(whoami)' | |
# set -g status-right '#[fg=yellow]#(cut -d " " -f 1-3 /proc/loadavg)#[default] #[fg=white]%H:%M#[default]' | |
# status bar | |
set -g status-left '#{prefix_highlight}[#S]' | |
# set name to current directory | |
set -g window-status-format '#I:#(pwd="#{pane_current_path}"; echo ${pwd####*/})#F' | |
set -g window-status-current-format '#I:#(pwd="#{pane_current_path}"; echo ${pwd####*/})#F' | |
# Tmux Plugin Manager | |
# List of plugins | |
set -g @plugin 'tmux-plugins/tpm' | |
set -g @plugin 'tmux-plugins/tmux-sensible' | |
set -g @plugin 'tmux-plugins/copycat' | |
set -g @plugin 'nhdaly/tmux-better-mouse-mode' | |
set -g @plugin 'tmux-plugins/tmux-yank' | |
set -g @plugin 'tmux-plugins/tmux-prefix-highlight' | |
# 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