mirror of https://github.com/bjeanes/dotfiles.git
122 lines
2.8 KiB
Plaintext
122 lines
2.8 KiB
Plaintext
|
# Based on https://github.com/lukaszkorecki/DotFiles/blob/master/tmux.conf
|
||
|
|
||
|
setw -g mode-keys vi
|
||
|
bind h select-pane -L
|
||
|
bind j select-pane -D
|
||
|
bind k select-pane -U
|
||
|
bind l select-pane -R
|
||
|
|
||
|
bind L last-window
|
||
|
|
||
|
# start indexing windows from 1, just like tabs
|
||
|
set -g base-index 1
|
||
|
|
||
|
set -g default-terminal "screen-256color"
|
||
|
|
||
|
# do not rename windows
|
||
|
setw -g automatic-rename on
|
||
|
|
||
|
# window titles
|
||
|
set -g set-titles on
|
||
|
|
||
|
|
||
|
# display visible indicator of each pane
|
||
|
bind-key w display-panes
|
||
|
|
||
|
# bind P source-file ~/.DotFiles/tmux_scripts/dev-layout
|
||
|
bind R source-file ~/.tmux.conf
|
||
|
|
||
|
# swap panes
|
||
|
bind-key -r J swap-pane -D
|
||
|
bind-key -r K swap-pane -U
|
||
|
|
||
|
|
||
|
# copying and pasting
|
||
|
bind-key [ copy-mode
|
||
|
bind-key ] paste-buffer -s \015
|
||
|
|
||
|
|
||
|
# enable mouse selection in copy mode
|
||
|
setw -g mode-mouse on
|
||
|
|
||
|
# list all paste buffers (default key is '#')
|
||
|
bind-key b list-buffers
|
||
|
|
||
|
# choose buffer to paste interactively (default key was '=')
|
||
|
bind-key p choose-buffer
|
||
|
|
||
|
# delete the most recently copied buffer of text (default key was '-')
|
||
|
bind-key x delete-buffer
|
||
|
|
||
|
|
||
|
# Screen-like key bindings
|
||
|
|
||
|
# new window
|
||
|
bind-key C-c new-window
|
||
|
bind-key c new-window
|
||
|
|
||
|
# quit
|
||
|
bind-key \ confirm-before kill-server
|
||
|
|
||
|
# displays
|
||
|
bind-key * list-clients
|
||
|
|
||
|
|
||
|
# Split windows like vim
|
||
|
|
||
|
# vim's definition of a horizontal/vertical split is reversed from tmux's
|
||
|
#bind-key s split-window -v
|
||
|
#bind-key v split-window -h
|
||
|
|
||
|
# alternatively, use better mnemonics for horizontal/vertical splits
|
||
|
bind-key - split-window -v
|
||
|
bind-key _ split-window -v
|
||
|
bind-key | split-window -h
|
||
|
|
||
|
# resize panes like vim
|
||
|
bind-key -r < resize-pane -L 3
|
||
|
bind-key -r > resize-pane -R 3
|
||
|
bind-key -r + resize-pane -U 1
|
||
|
bind-key -r = resize-pane -D 1
|
||
|
|
||
|
|
||
|
# Statusbar settings
|
||
|
|
||
|
# use vi-style key bindings in the status line
|
||
|
set -g status-keys vi
|
||
|
|
||
|
# amount of time for which status line messages and other indicators
|
||
|
# are displayed. time is in milliseconds.
|
||
|
set -g display-time 2000
|
||
|
|
||
|
# default statusbar colors
|
||
|
set-option -g status-utf8 on
|
||
|
set-option -g status-fg colour15
|
||
|
set-option -g status-bg black
|
||
|
|
||
|
setw -g window-status-fg colour15
|
||
|
setw -g window-status-bg black
|
||
|
setw -g window-status-attr none
|
||
|
|
||
|
setw -g window-status-current-fg black
|
||
|
setw -g window-status-current-bg colour15
|
||
|
setw -g window-status-current-attr bold
|
||
|
setw -g window-status-current-format '(#[fg=red]#I#[default] #W#F)'
|
||
|
setw -g window-status-format '(#[fg=yellow]#I#[default] #W#F)'
|
||
|
|
||
|
# pane dividers colors
|
||
|
|
||
|
setw -g pane-border-fg white
|
||
|
setw -g pane-border-bg black
|
||
|
|
||
|
setw -g pane-active-border-fg black
|
||
|
setw -g pane-active-border-bg black
|
||
|
|
||
|
|
||
|
set-option -g status-left ' ❐ #[fg=red]#S#[default] ▐'
|
||
|
# set-option -g status-right '▐ ♫ #[fg=green]#(~/.DotFiles/bins/current_track )#[default] ▐ ⚡ #[fg=yellow]#(~/.DotFiles/bins/battery )#[default] ▐ ⌚ #[fg=blue]#(date "+%H:%M")#[default] ▐ #[fg=colour200]#(whoami)@#H#[default]'
|
||
|
|
||
|
set-option -g status-right-length 1000
|
||
|
set-option -g status-left-length 60
|
||
|
|