summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--tmux.html.markdown180
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>