• Like
  • Save
Tmux
Upcoming SlideShare
Loading in...5
×
 

Tmux

on

  • 1,946 views

 

Statistics

Views

Total Views
1,946
Views on SlideShare
1,270
Embed Views
676

Actions

Likes
1
Downloads
14
Comments
1

5 Embeds 676

http://www.jasonlotito.com 661
http://abtasty.com 11
http://digg.com 2
http://www.linkedin.com 1
http://blog.jasonlotito.com 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel

11 of 1

  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Tmux Tmux Presentation Transcript

    • tmux or how I learned to just compile it locally and not wait for it to get installed on sandbox - TERMINAL MULTIPLEXERWednesday, December 5, 12
    • what is tmux?Wednesday, December 5, 12
    • what is tmux? tmux is a terminal multiplexer: it enables a number of terminals (or windows), each running a separate program, 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.Wednesday, December 5, 12
    • screenshotsWednesday, December 5, 12
    • AWESOME!Wednesday, December 5, 12
    • event better...Wednesday, December 5, 12
    • our goal: doing thisWednesday, December 5, 12
    • tmux vs. screenWednesday, December 5, 12
    • a consistent, well- documented command interface, with the same syntax whether used interactively, as a key binding, or from the shellWednesday, December 5, 12
    • in other words sane configurationWednesday, December 5, 12
    • easily scriptable from the shellWednesday, December 5, 12
    • tmux can split vertically screen requires a patchWednesday, December 5, 12
    • tmux bibleWednesday, December 5, 12
    • So, how did I install tmux?Wednesday, December 5, 12
    • libevent $ wget http://sourceforge.net/projects/levent/files/latest/download $ tar xfz libevent-2.0.17-stable.tar.gz $ cd libevent-2.0.17-stable/ $ /configure—prefix=/home/jlotito $ make $ make installWednesday, December 5, 12
    • tmux $ wget http://sourceforge.net/projects/tmux/files/latest/download $ tar xfz tmux-1.6.tar.gz $ cd tmux-1.6 $ ./configure—prefix=/home/jlotitoWednesday, December 5, 12
    • tmux cont. $ ./configure—prefix=/home/jlotito CPPFLAGS=”-I$HOME/include” LDFLAGS=”-static -L$HOME/include -L$HOME/lib” $ make $ make install $ export PATH=~/bin:$PATH $ tmux -V tmux 1.6Wednesday, December 5, 12
    • If you have permissions, you can do it.Wednesday, December 5, 12
    • sandbox vim: 7.0 my vim: 7.3Wednesday, December 5, 12
    • :set rnuWednesday, December 5, 12
    • Wednesday, December 5, 12
    • but you shouldn’t have to set things upWednesday, December 5, 12
    • $ cd $ mkdir bin $ cp ~/../jlotito/bin/tmux ~/bin $ export PATH=~/bin:$PATHWednesday, December 5, 12
    • $ tmuxWednesday, December 5, 12
    • prefix = CTRL + b This is the default prefix It’s run before every command prefix d This means type ‘CTRL + b’ and then type ‘d’.Wednesday, December 5, 12
    • prefix d Detaches from the current tmux session In other words, it exits tmuxWednesday, December 5, 12
    • detach do itWednesday, December 5, 12
    • $ tmux attach reattaches to the tmux sessionWednesday, December 5, 12
    • do it nowWednesday, December 5, 12
    • Multiple sessions You can have them We won’t discuss them todayWednesday, December 5, 12
    • prefix c create a new window (or tab)Wednesday, December 5, 12
    • prefix # ‘prefix 1’ takes you to tab #1Wednesday, December 5, 12
    • prefix w provides a list of windows available ‘j’ and ‘k’ to scroll the selectionsWednesday, December 5, 12
    • prefix % That’s not 5, but ‘%’, which means prefix SHIFT+5 This splits the pane in halfWednesday, December 5, 12
    • prefix x In the lower portion of tmux, you’ll see it ask you: kill pane 2? (y/n) type ‘y’Wednesday, December 5, 12
    • prefix “ split horizontallyWednesday, December 5, 12
    • prefix o switch between panesWednesday, December 5, 12
    • prefix CTRL + o move panes around layoutWednesday, December 5, 12
    • PREFIX SPACE change layout of panesWednesday, December 5, 12
    • Try scrolling in a pane hahaWednesday, December 5, 12
    • prefix [ CTRL u : up a lot CTRL d: down a lot Love alot. j : up a line d : down a line q: quitWednesday, December 5, 12
    • Configuration $ touch ~/.tmux.confWednesday, December 5, 12
    • CTRL + B is awkward # Prefix Config set -g prefix C-a unbind C-b bind C-a send-prefixWednesday, December 5, 12
    • prefix = CTRL + a Remap CAPS LOCK to CTRL.Wednesday, December 5, 12
    • Make it responsive # Changing the default delay set -sg escape-time 1Wednesday, December 5, 12
    • Easy config changes # Easy config changes bind r source-file ~/.tmux.conf ; display "Reloaded!"Wednesday, December 5, 12
    • Easy Pane Spitting # Splitting Panes bind split-window -h bind - split-window -vWednesday, December 5, 12
    • Easy Pane Movement # Movement keys, vim style bind h select-pane -L bind j select-pane -D bind k select-pane -U bind l select-pane -RWednesday, December 5, 12
    • move one pane left prefix hWednesday, December 5, 12
    • Pane Resizing # Pane resizing, vim style bind H resize-pane -L 5 bind J resize-pane -D 5 bind K resize-pane -U 5 bind L resize-pane -R 5Wednesday, December 5, 12
    • Try the pane resizing Don’t forget to run this command prefix rWednesday, December 5, 12
    • Let’s make resizing easier by repeating # Pane resizing, vim style bind -r H resize-pane -L 5 bind -r J resize-pane -D 5 bind -r K resize-pane -U 5 bind -r L resize-pane -R 5Wednesday, December 5, 12
    • resize prefix L -r You can hold it down, and it will keep movingWednesday, December 5, 12
    • Start at 1 # Windows and panes index renumbering set -g base-index 1 setw -g pane-base-index 1Wednesday, December 5, 12
    • Basic UI # Colors set -g status-fg white set -g status-bg blackWednesday, December 5, 12
    • Window movement # Window Movement bind -r C-h select-window -t :- bind -r C-l select-window -t :+Wednesday, December 5, 12
    • or... prefix wWednesday, December 5, 12
    • or... prefix # #: 0-9Wednesday, December 5, 12
    • timtowtdi • isWednesday, December 5, 12
    • tmux & screen notes http://www.dayid.org/os/notes/tm.htmlWednesday, December 5, 12
    • book http://pragprog.com/book/bhtmux/tmuxWednesday, December 5, 12
    • web http://tmux.sourceforge.net/Wednesday, December 5, 12
    • we were using tmux 1.6 latest is tmux 1.7Wednesday, December 5, 12
    • tmux configuration files now support line-continuation with a "" at the end of a line. * New option status-position to move the status line to the top or bottom of the screen. * Enforce history-limit option when clearing the screen. * Give each window a unique id, like panes but prefixed with @. * Add pane id to each pane in layout description (while still accepting the old form). * Provide defined ways to set the various default-path possibilities: ~ for home directory, . for server start directory, - for session start directory and empty for the panes working directory (the default). All can also be used as part of a relative path (eg -/foo). Also provide -c flags to neww and splitw to override default-path setting. * Add -l flag to send-keys to send input literally (without translating key names). * Allow a single option to be specified to show-options to show just that option. * New command "move-pane" (like join-pane but allows the same window). * join-pane and move-pane commands learn "-b" option to place the pane to the left or above. * Support for bracketed-paste mode. * Allow send-keys command to accept hex values. * Add locking around "start-server" to avoid race-conditions. * break-pane learns -P/-F arguments for display formatting. * set-option learns "-q" to make it quiet, and not print out anything. new in 1.7 * copy mode learns "wrap-search" option. * Add a simple form of output rate limiting by counting the number of certain C0 sequences (linefeeds, backspaces, carriage returns) and if it exceeds a threshold (current default 250/millisecond), start to redraw the pane every 100 milliseconds instead of making each change as it comes. Two configuration options - c0-change-trigger and c0-change-interval. * find-window learns new flags: "-C", "-N", "-T" to match against either or all of a windows content, name, or title. Defaults to all three options if none specified. * find-window automatically selects the appropriate pane for the found matches. * show-environment can now accept one option to show that environment value. * Exit mouse mode when end-of-screen reached when scrolling with the mouse wheel. * select-layout learns -u and -U for layout history stacks. * kill-window, detach-client, kill-session all learn "-a" option for killing all but the current thing specified. * move-window learns "-r" option to renumber window sequentially in a session. * New session option "renumber-windows" to automatically renumber windows in a session when a window is closed. (see "move-window -r"). * Only enter copy-mode on scroll up. * choose-* and list-* commands all use "-F" for format specifiers. * When spawning external commands, the value from the "default-shell" option is now used, rather than assuming /bin/sh. * New choose-tree command to render window/sessions as a tree for selection. * display-message learns new format options. * For linked-windows across sessions, all flags for that window are now cleared across sessions. * Lots and lots of bug fixes, fixing memory-leaks, etc. * Various manpage improvements.Wednesday, December 5, 12
    • fin.Wednesday, December 5, 12