Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| tips:tmux [2016/11/14 08:36] – [keyboard] scipio | tips:tmux [2017/01/20 14:01] (current) – [conf] scipio | ||
|---|---|---|---|
| Line 5: | Line 5: | ||
| ===== keyboard ===== | ===== keyboard ===== | ||
| - | * ctrl+b c: create | + | * ctrl+a c: create |
| - | * ctrl+b n: move next | + | * ctrl+a n: move next |
| - | * ctrl+b o: move previous | + | * ctrl+a o: move previous |
| - | * ctrl+b w: list windows | + | * ctrl+a w: list windows |
| + | * ctrl+a d: detach | ||
| + | * ctrl+a PGUP: scroll mode | ||
| ===== sessions ===== | ===== sessions ===== | ||
| + | |||
| + | list | ||
| + | <code bash> | ||
| + | tmux ls | ||
| + | </ | ||
| + | |||
| + | attach | ||
| + | <code bash> | ||
| + | tmux a [-t name] | ||
| + | </ | ||
| kill detached | kill detached | ||
| Line 17: | Line 29: | ||
| </ | </ | ||
| + | ===== script ===== | ||
| + | |||
| + | <code bash> | ||
| + | tmux -2 new-session -d -s wega -n ' | ||
| + | |||
| + | tmux new-window -t wega:2 -n 'brain & GUI' " | ||
| + | tmux send-keys -t wega:2.0 'cd wegabrain; make run' Enter | ||
| + | |||
| + | tmux split-window -v " | ||
| + | tmux send-keys -t wega:2.1 'cd wegagui/ | ||
| + | |||
| + | tmux select-window -t wega:2 | ||
| + | tmux -2 attach-session -t wega | ||
| + | </ | ||
| + | |||
| + | ===== conf ===== | ||
| + | |||
| + | <file txt ~/ | ||
| + | # https:// | ||
| + | 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 | ||
| + | # | ||
| + | |||
| + | # active window title colors | ||
| + | set-window-option -g window-status-current-fg colour166 #orange | ||
| + | set-window-option -g window-status-current-bg default | ||
| + | # | ||
| + | |||
| + | # 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 '# | ||
| + | set -g status-right '# | ||
| + | |||
| + | # 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 < | ||
| + | # 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 ' | ||
| + | bind-key -t vi-copy ' | ||
| + | |||
| + | # 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, | ||
| + | bind m set-window-option main-pane-height 60\; select-layout main-horizontal | ||
| + | |||
| + | bind-key C command-prompt -p "Name of new window: " " | ||
| + | |||
| + | # reload config | ||
| + | bind r source-file ~/ | ||
| + | |||
| + | # auto window rename | ||
| + | set-window-option -g automatic-rename | ||
| + | |||
| + | # color | ||
| + | set -g default-terminal " | ||
| + | |||
| + | # https:// | ||
| + | # 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' | ||
| + | run-shell "tmux set-environment -g TMUX_VERSION_MINOR $(tmux -V | cut -d' ' -f2 | cut -d' | ||
| + | |||
| + | # status bar | ||
| + | if-shell '\( # | ||
| + | |||
| + | # rm mouse mode fail | ||
| + | if-shell '\( # | ||
| + | if-shell '\( # | ||
| + | |||
| + | # fix pane_current_path on new window and splits | ||
| + | if-shell "test '# | ||
| + | if-shell "test '# | ||
| + | if-shell "test '# | ||
| + | if-shell "test '# | ||
| + | </ | ||