diff options
Diffstat (limited to 'tmux.html.markdown')
| -rw-r--r-- | tmux.html.markdown | 180 | 
1 files changed, 90 insertions, 90 deletions
| diff --git a/tmux.html.markdown b/tmux.html.markdown index 8d7aa752..ebc312ed 100644 --- a/tmux.html.markdown +++ b/tmux.html.markdown @@ -2,22 +2,23 @@  category: tool  tool: tmux  contributors: -    - ["kaernyk", "http://github.com/kaernyk"] +    - ["kaernyk", "https://github.com/kaernyk"] +    - ["jmaud", "https://github.com/jmaud"]  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  +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' with no commands will create a new session      new              # Create a new session       -s "Session"    # Create named session @@ -54,7 +55,7 @@ then later reattached.  ## Key Bindings -#   The method of controlling an attached tmux session is via key  +#   The method of controlling an attached tmux session is via key  # combinations called 'Prefix' keys.  ---------------------------------------------------------------------- @@ -63,47 +64,48 @@ then later reattached.    (M-1) = Meta + 1 -or- Alt + 1  ---------------------------------------------------------------------- -   ?               # List all key bindings -   :               # Enter the tmux command prompt -   r               # Force redraw of the attached client -   c               # Create a new window +  ?                  # List all key bindings +  :                  # Enter the tmux command prompt +  r                  # Force redraw of the attached client +  c                  # Create a new 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 +  !                  # 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 +  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  +  s                  # Select a new session for the attached client                       interactively -   w               # Choose the current window interactively -   0 to 9          # Select windows 0 to 9 +  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 +  d                  # Detach the current client +  D                  # Choose a client to detach -   &               # Kill the current window -   x               # Kill the current pane +  &                  # Kill the current window +  x                  # Kill the current pane -   Up, Down        # Change to the pane above, below, left, or right -   Left, Right +  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 +  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 +  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 +  M-Up, M-Down       # Resize the current pane in steps of five cells +  M-Left, M-Right +```  ### Configuring ~/.tmux.conf @@ -111,30 +113,59 @@ then later reattached.    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 +# 2014.10 + + +### General +########################################################################### + +# Enable UTF-8 +setw -g utf8 on +set-option -g status-utf8 on + +# Scrollback/History limit +set -g history-limit 2048 + +# Index Start +set -g base-index 1 + +# Mouse +set-option -g mouse-select-pane on + +# Force reload of config file +unbind r +bind r source-file ~/.tmux.conf  ### Keybinds -###################################################################### +###########################################################################  # Unbind C-b as the default prefix -unbind-key C-befix C-a +unbind C-b + +# Set new default prefix +set-option -g prefix `  # Return to previous window when prefix is pressed twice -bind-key C-a last-window -bind-key ` last-window +bind C-a last-window +bind ` 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 ` +bind F11 set-option -g prefix C-a +bind F12 set-option -g prefix ` -# Activate inner-most session (when nesting tmux) -# to send commands -bind-key a send-prefix +# Keybind preference +setw -g mode-keys vi +set-option -g status-keys vi -# Index Start -set -g base-index 1 +# 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  # Window Cycle/Swap  bind e previous-window @@ -142,23 +173,20 @@ 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 +# Easy 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 +# Activate inner-most session (when nesting tmux) to send commands +bind a send-prefix  ### Theme -##################################################################### +########################################################################### -# Statusbar Color Palette +# Statusbar Color Palatte  set-option -g status-justify left  set-option -g status-bg black  set-option -g status-fg white @@ -187,14 +215,7 @@ 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 @@ -202,41 +223,20 @@ 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 - -# window number,program name,active (or not) -set-option -g set-titles-string '#H:#S.#I.#P #W #T'  +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]' +set -g status-left "#[fg=red] #H#[fg=green]:#[fg=white]#S#[fg=green] |#[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]' +set -g status-interval 4 +set -g status-right "#[fg=green] | #[fg=white]#(tmux-mem-cpu-load)#[fg=green] | #[fg=cyan]%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">Tmux Manual page</a><br>  <a href="http://wiki.gentoo.org/wiki/Tmux">Archlinux Wiki</a><br> | 
