Alan Orth
f558eb4b39
I'm all for zero-based indexes, but this doesn't really make sense on the keyboard as the numbers start at 1. :) Great tip from https://mutelight.org/practical-tmux
119 lines
2.4 KiB
Plaintext
119 lines
2.4 KiB
Plaintext
unbind C-b
|
|
set-option -g prefix ^A
|
|
bind a send-prefix
|
|
|
|
# Bind appropriate commands similar to screen.
|
|
# lockscreen ^X x
|
|
unbind ^X
|
|
bind ^X lock-server
|
|
unbind x
|
|
bind x lock-server
|
|
|
|
# screen ^C c
|
|
unbind ^C
|
|
bind ^C new-window
|
|
unbind c
|
|
bind c new-window
|
|
|
|
# detach ^D d
|
|
unbind ^D
|
|
bind ^D detach
|
|
|
|
# displays *
|
|
unbind *
|
|
bind * list-clients
|
|
|
|
# next ^@ ^N sp n
|
|
unbind ^@
|
|
bind ^@ next-window
|
|
unbind ^N
|
|
bind ^N next-window
|
|
unbind " "
|
|
bind " " next-window
|
|
unbind n
|
|
bind n next-window
|
|
|
|
# title A
|
|
unbind A
|
|
bind A command-prompt "rename-window %%"
|
|
|
|
# other ^A
|
|
unbind ^A
|
|
bind ^A last-window
|
|
|
|
# prev ^H ^P p ^?
|
|
unbind ^H
|
|
bind ^H previous-window
|
|
unbind ^P
|
|
bind ^P previous-window
|
|
unbind p
|
|
bind p previous-window
|
|
unbind BSpace
|
|
bind BSpace previous-window
|
|
|
|
# windows ^W w
|
|
unbind ^W
|
|
bind ^W list-windows
|
|
unbind w
|
|
bind w list-windows
|
|
|
|
# kill K k
|
|
unbind K
|
|
bind K confirm-before "kill-window"
|
|
unbind k
|
|
bind k confirm-before "kill-window"
|
|
|
|
# redisplay ^L l
|
|
unbind ^L
|
|
bind ^L refresh-client
|
|
unbind l
|
|
bind l refresh-client
|
|
|
|
# " windowlist -b
|
|
unbind '"'
|
|
bind '"' choose-window
|
|
|
|
# use Escape for entering copy mode, like screen
|
|
bind Escape copy-mode
|
|
|
|
# less time between commands in a command sequence
|
|
set -s escape-time 0
|
|
|
|
# use vi-style key bindings
|
|
set-option -g mode-keys vi
|
|
|
|
# start numbering windows a 1
|
|
set -g base-index 1
|
|
|
|
# Rather than constraining window size to the maximum size of any client
|
|
# connected to the *session*, constrain window size to the maximum size
|
|
# of any client connected to *that window*. Much more reasonable.
|
|
set-window-option -g aggressive-resize on
|
|
|
|
# the visual bell causes a micro delay when typing. Tab completion triggers
|
|
# the bell and typing halts for a second and it's really annoying.
|
|
set-option -g visual-bell off
|
|
|
|
# status bar
|
|
set-option -g status-justify left
|
|
set-option -g status-bg blue
|
|
set-option -g status-fg white
|
|
set-option -g status-left ''
|
|
set-option -g status-right '#[fg=colour47]#H #[fg=red]#(cut -d " " -f 1-3 /proc/loadavg) #[fg=colour227]%Y-%m-%d %H:%M#[default]'
|
|
|
|
# terminal messages, like "bell in terminal 1"
|
|
set-option -g message-fg black
|
|
set-option -g message-bg white
|
|
|
|
# Highlight active window
|
|
set-window-option -g window-status-current-fg white
|
|
set-window-option -g window-status-current-bg red
|
|
set-window-option -g window-status-bell-attr default
|
|
set-window-option -g window-status-bell-fg yellow
|
|
|
|
# scrollback buffer
|
|
set-option -g history-limit 4096
|
|
|
|
# hijack the TERM variable for shells inside tmux
|
|
set-option -g default-terminal "screen-256color"
|