diff options
Diffstat (limited to 'learntmux.html.markdown')
| -rw-r--r-- | learntmux.html.markdown | 200 | 
1 files changed, 200 insertions, 0 deletions
| diff --git a/learntmux.html.markdown b/learntmux.html.markdown new file mode 100644 index 00000000..65ead04f --- /dev/null +++ b/learntmux.html.markdown @@ -0,0 +1,200 @@ +--- +category: tool +tool: tmux +contributors: +    - ["kaernyk", "http://github.com/kaernyk"] +filename: LearnTmux.txt +--- + +```bash +#  tmux 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. + +#  Once you feel comfortable manipulating tmux to suit your needs, I strongly  +# suggest you read the man pages, as there are TONS of features I’m not going +# to go over. + + +# We’ll start of with managing tmux from a terminal, then introduce you to the +# keybinds: + +  tmux | tmux new   # Create an unamed session +   -s "Session"     # Create named session +   -n "Window"      # Create named Window +   -c "/dir"        # Start in target directory +     +  tmux attach       # Attach last/available session +   -t "#"           # Attach target session +   -d               # Detach the session from other instances + +  tmux ls           # List open sessions +         +  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 THEN ? to list all keybinds + +# The default keybinds are as follows: + +   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. +   "               # Split the current pane into two, top and bottom. + +   n               # Change to the next window. +   p               # Change to the previous window. +   {               # Swap the current pane with the previous pane. +   }               # Swap the current pane with the next pane. + +   s               # Select a new session for the attached client interactively. +   w               # Choose the current window interactively. +   0 to 9          # Select windows 0 to 9. + +   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:  +                   #    1) even-horizontal +                   #    2) even-vertical +                   #    3) main-horizontal +                   #    4) main-vertical +                   #    5) tiled. + +   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. + +```bash +# Example tmux.conf   +# http://dev.gentoo.org/~wired/conf/tmux.conf   +# http://wiki.gentoo.org/wiki/Tmux   +# https://wiki.archlinux.org/index.php/Tmux   +   +### Keybinds   +###########################################################################   +   +## Prefix Adjustment    +unbind-key C-b   +set-option -g prefix `   +#set option -g prefix C-a   +   +bind-key C-a last-window   +bind-key ` last-window   +bind-key a send-prefix   +bind-key F11 set-option -g prefix C-a   +bind-key F12 set-option -g 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   +   +   +### Theme   +###########################################################################   +   +## Statusbar Color Palatte   +#set-option -g status-justify centre   +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   +   +   +#setw -g mode-bg black       +   +   +## 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   +###########################################################################   +   +## Window Interface Adjustments   +set-option -g status-utf8 on   +setw -g mode-keys vi   +setw -g mode-mouse on   +setw -g monitor-activity on   +   +set-option -g mouse-select-pane on   +set-option -g status-keys vi   +set-option -g bell-action any   +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)   +set-option -g visual-bell off   +   +   +## Statusbar Adjustments   +set -g status-left ' #[fg=red]#H#[fg=green]:#[fg=white]#S #[fg=green]][#[default] '   +set -g status-interval 5   +#set -g status-right ' #[fg=green]][#[fg=white] #T #[fg=green]][ #[fg=blue]%Y-%m-%d #[fg=white]%H:%M#[default] '   +set -g status-right ' #[fg=green]][#[fg=white] #(tmux-mem-cpu-load 5 4) #[fg=green]][ #[fg=yellow]%H:%M#[default] '   +   +   +### Misc   +###########################################################################   +set -g history-limit 4096   +bind r source-file ~/.tmux.conf   +``` | 
