====== tmux ====== **Cheet Sheets:** {{::tmux.png?linkonly | color}}, {{:tmux-printer.png?linkonly | black & white}}, {{ ::tmux-printer.pdf | printable}} ===== Sessions ===== A session is a group of windows (and each window has at least one pane). **Commands:** # New Session tmux tmux new -s [session name] # Sessions Management tmux ls # lists current running sessions tmux rename-session -t [number] [new name] # Attach Session tmux a -t [session name or number] # Remove Session tmux kill-ses tmux kill-session -t [name] **Key Bindings:** ^ Command ^ Description ^ | ''Ctrl-b $'' | rename session | | ''Ctrl-b d'' | detach session | | ''Ctrl-b D'' | detach session, choice | | ''Ctrl-b )'' | next session | | ''Ctrl-b ('' | previous session | ---- ===== Windows ===== Windows are like tabs in a browser. Windows exist in sessions and occupy the whole screen. **Key Bindings:** ^ Command ^ Description ^ | ''Ctrl-b c'' | create window | | ''Ctrl-b n'' | move to next window | | ''Ctrl-b p'' | move to previous window | | ''Ctrl-b l'' | move to last window used | | ''Ctrl-b 0-9'' | select window by number | | ''Ctrl-b %%'%%'' | select window by name | | ''Ctrl-b .'' | change window number | | ''Ctrl-b ,'' | change window name | | ''Ctrl-b f'' | find window (search) | | ''Ctrl-b &'' | kill window | ---- ===== Panes ===== Panes are sections of windows that have been split vertically or horizontally (like... uh... panes in a glass window...) **Key Bindings:** ^ Command ^ Description ^ | ''Ctrl-b %'' | split vertical | | ''Ctrl-b "'' | split horizontal | | ''Ctrl-b [right arrow]'' | move to pane to the right | | ''Ctrl-b [left arrow]'' | move to pane to the left | | ''Ctrl-b [up arrow]'' | move to pane above | | ''Ctrl-b [down arrow]'' | move to pane below | | ''Ctrl-b o'' | go to next pane | | ''Ctrl-b ;'' | got to last active pane | | ''Ctrl-b }'' | rotate panes clockwise | | ''Ctrl-b {'' | rotate panes counter-clockwise | | ''Ctrl-b !'' | convert pane to window | | ''Ctrl-b x'' | kill pane | ---- ===== Copy ===== **__Resource__:** [[https://www.rushiagr.com/blog/2016/06/16/everything-you-need-to-know-about-tmux-copy-pasting-ubuntu/ | Everything you need to know about tmux copy]] **To copy outside tmux:** You should be able to highlight with your mouse (shift + left-mouse-button). Once highlighted, go to the program where you want to paste and click the middle-mouse-button. * If that doesn't work (sometimes it does... sometimes it doesn't... and that drives me nuts!)... * **Shift + Left-Mouse-Button:** This highlights the text you want to copy. Then just go to the window/program into which you want to paste and middle-mouse-button to paste (i.e., Linux default behavior). **To copy inside tmux:** See the following... **Key Bindings:** ^ Command ^ Description ^ | ''Ctrl-b ['' | enter copy mode | | ''Ctrl-b ]'' | paste from buffer | **Copy Mode Commands:** ^ Command ^ Description ^ | ''Ctrl-[spacebar]'' | start selection | | ''Ctrl-w'' or ''Alt-w'' | copy selection | | ''Ctrl-[Esc]'' | clear selection | | ''Ctrl-g'' | go to top | | ''Ctrl-G'' | go to bottom | | ''Ctrl-h'' | move cursor left | | ''Ctrl-j'' | move cursor down | | ''Ctrl-k'' | move cursor up | | ''Ctrl-l'' | move cursor right | | ''Ctrl-%%/%%'' | search | | ''Ctrl-#'' | list paste buffers | | ''Ctrl-q'' | quit | ---- ===== Other Stuff ===== ==== Mouse Mode ==== Mouse mode allows you to control the pane selection, pane resizing, window selection operation, along with scrolling, with the mouse. To enable the mouse mode, open the ''~/.tmux.conf'' file and put the following line inside it: setw -g mouse on Reload it (whenever you change a configuration file of a running program, like a Bash shell, etc., you need to source it to load it again--or exit and enter again): tmux source-file ~/.tmux.conf ----