tips:tmux

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
tips:tmux [2016/11/14 08:30] – created scipiotips:tmux [2017/01/20 14:01] (current) – [conf] scipio
Line 5: Line 5:
 ===== keyboard ===== ===== keyboard =====
  
-  * ctrl+c: create +  * ctrl+c: create 
-  * ctrl+n: move next +  * ctrl+n: move next 
-  * ctrl+w: list windows+  * ctrl+a o: move previous 
 +  * ctrl+a w: list windows 
 +  * ctrl+a d: detach 
 +  * ctrl+a PGUP: scroll mode
  
 ===== sessions ===== ===== sessions =====
 +
 +list
 +<code bash>
 +tmux ls
 +</code>
 +
 +attach
 +<code bash>
 +tmux a [-t name]
 +</code>
  
 kill detached kill detached
Line 16: Line 29:
 </code> </code>
  
 +===== script =====
 +
 +<code bash>
 +tmux -2 new-session -d -s wega -n 'all' 'make runall'
 +
 +tmux new-window -t wega:2 -n 'brain & GUI' "bash"
 +tmux send-keys -t wega:2.0 'cd wegabrain; make run' Enter
 +
 +tmux split-window -v "bash"
 +tmux send-keys -t wega:2.1 'cd wegagui/wegagui/webapp; make serve' Enter
 +
 +tmux select-window -t wega:2
 +tmux -2 attach-session -t wega
 +</code>
 +
 +===== conf =====
 +
 +<file txt ~/.tmux.conf>
 +# https://github.com/seebi/tmux-colors-solarized/blob/master/tmuxcolors-256.conf
 +set-option -g status-bg colour235 #base02
 +set-option -g status-fg colour136 #yellow
 +set-option -g status-attr default
 +
 +# set window split
 +bind-key | split-window -h
 +bind-key - split-window -v
 +
 +# default window title colors
 +set-window-option -g window-status-fg colour244 #base0
 +set-window-option -g window-status-bg default
 +#set-window-option -g window-status-attr dim
 +
 +# active window title colors
 +set-window-option -g window-status-current-fg colour166 #orange
 +set-window-option -g window-status-current-bg default
 +#set-window-option -g window-status-current-attr bright
 +
 +# pane border
 +set-option -g pane-border-fg colour235 #base02
 +set-option -g pane-active-border-fg colour240 #base01
 +
 +# message text
 +set-option -g message-bg colour235 #base02
 +set-option -g message-fg colour166 #orange
 +
 +# pane number display
 +set-option -g display-panes-active-colour colour33 #blue
 +set-option -g display-panes-colour colour166 #orange
 +# clock
 +set-window-option -g clock-mode-colour green #green
 +
 +
 +set -g status-interval 1
 +set -g status-justify centre # center align window list
 +set -g status-left-length 20
 +set -g status-right-length 140
 +set -g status-left '#[fg=green]#H #[fg=black]• #[fg=green,bright]#(uname -r | cut -c 1-6)#[default]'
 +set -g status-right '#[fg=green,bg=default,bright]#(tmux-mem-cpu-load) #[fg=red,dim,bg=default]#(uptime | cut -f 4-5 -d " " | cut -f 1 -d ",") #[fg=white,bg=default]%a%l:%M:%S %p#[default] #[fg=blue]%Y-%m-%d'
 +
 +# C-b is not acceptable -- Vim uses it
 +set-option -g prefix C-a
 +bind-key C-a last-window
 +
 +# Start numbering at 1
 +set -g base-index 1
 +
 +# Allows for faster key repetition
 +set -s escape-time 0
 +
 +# 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.
 +setw -g aggressive-resize on
 +
 +# Allows us to use C-a a <command> to send commands to a TMUX session inside 
 +# another TMUX session
 +bind-key a send-prefix
 +
 +# Activity monitoring
 +setw -g monitor-activity on
 +set -g visual-activity on
 +
 +# Vi copypaste mode
 +set-window-option -g mode-keys vi
 +bind-key -t vi-copy 'v' begin-selection
 +bind-key -t vi-copy 'y' copy-selection
 +
 +# hjkl pane traversal
 +bind h select-pane -L
 +bind j select-pane -D
 +bind k select-pane -U
 +bind l select-pane -R
 +
 +# set to main-horizontal, 60% height for main pane
 +bind m set-window-option main-pane-height 60\; select-layout main-horizontal
 +
 +bind-key C command-prompt -p "Name of new window: " "new-window -n '%%'"
 +
 +# reload config
 +bind r source-file ~/.tmux.conf \; display-message "Config reloaded..."
 +
 +# auto window rename
 +set-window-option -g automatic-rename
 +
 +# color
 +set -g default-terminal "screen-256color"
 +
 +# https://github.com/edkolev/dots/blob/master/tmux.conf
 +# Updates for tmux 1.9's current pane splitting paths.
 +
 +# from powerline
 +run-shell "tmux set-environment -g TMUX_VERSION_MAJOR $(tmux -V | cut -d' ' -f2 | cut -d'.' -f1 | sed 's/[^0-9]*//g')"
 +run-shell "tmux set-environment -g TMUX_VERSION_MINOR $(tmux -V | cut -d' ' -f2 | cut -d'.' -f2 | sed 's/[^0-9]*//g')"
 +
 +# status bar
 +if-shell '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -lt 2\) -o #{$TMUX_VERSION_MAJOR} -le 1' 'set-option -g status-utf8 on'
 +
 +# rm mouse mode fail
 +if-shell '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -ge 1\)' 'set -g mouse off'
 +if-shell '\( #{$TMUX_VERSION_MAJOR} -eq 2 -a #{$TMUX_VERSION_MINOR} -lt 1\) -o #{$TMUX_VERSION_MAJOR} -le 1' 'set -g mode-mouse off'
 +
 +# fix pane_current_path on new window and splits
 +if-shell "test '#{$TMUX_VERSION_MAJOR} -gt 1 -o \( #{$TMUX_VERSION_MAJOR} -eq 1 -a #{$TMUX_VERSION_MINOR} -ge 8 \)'" 'unbind c; bind c new-window -c "#{pane_current_path}"'
 +if-shell "test '#{$TMUX_VERSION_MAJOR} -gt 1 -o \( #{$TMUX_VERSION_MAJOR} -eq 1 -a #{$TMUX_VERSION_MINOR} -ge 8 \)'" "unbind '\"'; bind '\"' split-window -v -c '#{pane_current_path}'"
 +if-shell "test '#{$TMUX_VERSION_MAJOR} -gt 1 -o \( #{$TMUX_VERSION_MAJOR} -eq 1 -a #{$TMUX_VERSION_MINOR} -ge 8 \)'" 'unbind v; bind v split-window -h -c "#{pane_current_path}"'
 +if-shell "test '#{$TMUX_VERSION_MAJOR} -gt 1 -o \( #{$TMUX_VERSION_MAJOR} -eq 1 -a #{$TMUX_VERSION_MINOR} -ge 8 \)'" 'unbind %; bind % split-window -h -c "#{pane_current_path}"'
  
 +</file>
  • tips/tmux.1479108642.txt.gz
  • Last modified: 2016/11/14 08:30
  • by scipio