diff options
-rw-r--r-- | tmux.html.markdown | 236 |
1 files changed, 48 insertions, 188 deletions
diff --git a/tmux.html.markdown b/tmux.html.markdown index b4a9fde9..ed606998 100644 --- a/tmux.html.markdown +++ b/tmux.html.markdown @@ -8,74 +8,67 @@ filename: LearnTmux.txt <a href="http://tmux.sourceforge.net/"> -tmux</a> is a terminal multiplexer: it enables a number of terminals to be -created, accessed, and controlled from a single screen. tmux may be detached +tmux</a> is a terminal multiplexer: it enables a number of terminals to be +created, accessed, and controlled from a single screen. tmux may be detached from a screen and continue running in the background, then later reattached. ``` + tmux [command] # Run a command + # 'tmux' with no commands will create a new session - tmux [command] # Run a command - # 'tmux' with no commands will create a new session - - new # Create a new session - -s "Session" # Create named session - -n "Window" # Create named Window - -c "/dir" # Start in target directory - - attach # Attach last/available session - -t "#" # Attach target session - -d # Detach the session from other instances - - ls # List open sessions - -a # List all open sessions - - lsw # List windows - -a # List all windows - -s # List all windows in session - - lsp # List panes - -a # List all panes - -s # List all panes in session - -t # List app panes in target - - kill-window # Kill current window - -t "#" # Kill target window - -a # Kill all windows - -a -t "#" # Kill all windows but the target - - kill-session # Kill current session - -t "#" # Kill target session - -a # Kill all sessions - -a -t "#" # Kill all sessions but the target + new # Create a new session + -s "Session" # Create named session + -n "Window" # Create named Window + -c "/dir" # Start in target directory + + attach # Attach last/available session + -t "#" # Attach target session + -d # Detach the session from other instances + + ls # List open sessions + -a # List all open sessions + + lsw # List windows + -a # List all windows + -s # List all windows in session + + lsp # List panes + -a # List all panes + -s # List all panes in session + -t # List app panes in target + + kill-window # Kill current window + -t "#" # Kill target window + -a # Kill all windows + -a -t "#" # Kill all windows but the target + + kill-session # Kill current session + -t "#" # Kill target session + -a # Kill all sessions + -a -t "#" # Kill all sessions but the target ## Key Bindings -# The method of controlling an attached tmux session is fairly simple, but -# there are two keys we will see repeated throughout this write-up (as well as -# the man pages). - - (C-b) == Ctrl + b +# The method of controlling an attached tmux session is via key combinations +# called 'Prefix' keys. - (M-1) == Alt + b - -or- - Meta + b +------------------------------------------------------------------------------ + (C-b) = Ctrl + b # 'Prefix' combination required to use keybinds -# The default keybinds are as follows: + (M-1) = Alt + 1 + -or- + Meta + 1 + +------------------------------------------------------------------------------ - C-b # Send the prefix key (C-b) through to the application. - C-o # Rotate the panes in the current window forwards. - C-z # Suspend the tmux client. ? # List all key bindings. : # Enter the tmux command prompt. r # Force redraw of the attached client. - c # Create a new window. - $ # Rename the current session. - , # Rename the current window. ! # Break the current pane out of the window. % # Split the current pane into two, left and right. @@ -92,14 +85,14 @@ from a screen and continue running in the background, then later reattached. d # Detach the current client. D # Choose a client to detach. - + & # Kill the current window. x # Kill the current pane. Up, Down # Change to the pane above, below, left, or right. Left, Right - M-1 to M-5 # Arrange panes: + M-1 to M-5 # Arrange panes: # 1) even-horizontal # 2) even-vertical # 3) main-horizontal @@ -108,149 +101,16 @@ from a screen and continue running in the background, then later reattached. C-Up, C-Down # Resize the current pane in steps of one cell. C-Left, C-Right - + M-Up, M-Down # Resize the current pane in steps of five cells. M-Left, M-Right - - - -### Configuring ~/.tmux.conf - - tmux.conf can be used to set options automatically on start up, much -like how .vimrc or init.el are used. - - -# Example tmux.conf -# 2014.9 - - -### Keybinds -########################################################################### - -# Unbind C-b as the default prefix -unbind-key C-b - -# Set new default prefix -set-option -g prefix ` -#set-option -g prefix C-a - -# Return to previous window when prefix is pressed twice -bind-key C-a last-window -bind-key ` last-window - -# Allow swapping C-a and ` using F11/F12 -bind-key F11 set-option -g prefix C-a -bind-key F12 set-option -g prefix ` - -# Activate inner-most session (when nesting tmux) -# to send commands -bind-key a send-prefix - -# Index Start -set -g base-index 1 - -# Window Cycle/Swap -bind e previous-window -bind f next-window -bind E swap-window -t -1 -bind F swap-window -t +1 - -# easy-to-remember split pane commands -bind | split-window -h -bind - split-window -v -unbind '"' -unbind % - -# moving between panes with vim movement keys -bind h select-pane -L -bind j select-pane -D -bind k select-pane -U -bind l select-pane -R - - -### Theme -########################################################################### - -# Statusbar Color Palatte -set-option -g status-justify left -set-option -g status-bg black -set-option -g status-fg white -set-option -g status-left-length 40 -set-option -g status-right-length 80 - -# Pane Border Color Palette -set-option -g pane-active-border-fg green -set-option -g pane-active-border-bg black -set-option -g pane-border-fg white -set-option -g pane-border-bg black - -# Message Color Palette -set-option -g message-fg black -set-option -g message-bg green - -# Window Status Color Palette -setw -g window-status-bg black -setw -g window-status-current-fg green -setw -g window-status-bell-attr default -setw -g window-status-bell-fg red -setw -g window-status-content-attr default -setw -g window-status-content-fg yellow -setw -g window-status-activity-attr default -setw -g window-status-activity-fg yellow - - -### UI -########################################################################### - -# Statusbar -set-option -g status-utf8 on - -# Keybind preference -setw -g mode-keys vi -set-option -g status-keys vi - -# Notification -setw -g monitor-activity on -set -g visual-activity on -set-option -g bell-action any -set-option -g visual-bell off - -# Mouse -setw -g mode-mouse on -set-option -g mouse-select-pane on -set -g mouse-resize-pane on -set -g mouse-select-window on - -# Automatically set window titles -set-option -g set-titles on -set-option -g set-titles-string '#H:#S.#I.#P #W #T' # window number,program name,active (or not) - -# Statusbar Adjustments -set -g status-left '#[fg=red]#H#[fg=green]:#[fg=white]#S #[fg=green]][#[default] ' -set -g status-interval 3 - -# Statusbar with right-aligned Date / Time -#set -g status-right ' #[fg=green]][#[fg=white] #T #[fg=green]][ #[fg=blue]%Y-%m-%d #[fg=white]%H:%M#[default] ' - -# Show performance counters in statusbar -# Requires https://github.com/thewtex/tmux-mem-cpu-load/ -#set -g status-right ' #[fg=green]][#[fg=white] #(tmux-mem-cpu-load 5 4) #[fg=green]][ #[fg=yellow]%H:%M#[default] ' - - -### Misc -########################################################################### - -# Scrollback/History limit -set -g history-limit 4096 - -bind r source-file ~/.tmux.conf ``` ### External Resources <a href="http://tmux.sourceforge.net/">Tmux | Home</a><br> -<a href="http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man1/tmux.1?query=tmux">Manual page</a><br> -<a href="https://stackoverflow.com/questions/11558907/is-there-a-better-way-to-display-cpu-usage-in-tmux">Display CPU/MEM % in statusbar</a><br> +<a href="http://www.openbsd.org/cgi-bin/man.cgi/OpenBSD-current/man1/tmux.1?query=tmux">Tmux Manual page</a><br> <a href="http://wiki.gentoo.org/wiki/Tmux">Archlinux Wiki</a><br> <a href="https://wiki.archlinux.org/index.php/Tmux">Gentoo Wiki</a><br> +<a href="https://stackoverflow.com/questions/11558907/is-there-a-better-way-to-display-cpu-usage-in-tmux">Display CPU/MEM % in statusbar</a><br> |