tmux rocks!

Post on 08-Sep-2014

4.631 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

TMUX Rocks! tmux vs. GNU screen Trick and tips sharing Some extremely useful lightning fast handy key binding sharing :)

TRANSCRIPT

TMUX Rocks! ( Terminal MUltipleXer )

Kent Chen

終端复用器�基本功不談

Not a basic intro course of terminal multiplexer

GNU Screen vs. tmux

Ref: https://www.google.com/trends/explore?q=gnu screen, tmux

分享小弟�「跳槽」經驗

An experience sharing after “Jump ship”

(驚)

Screen 用得好好的?

GNU Screen works god damn well?

為什麼要換�tmux

Why switch to tmux?

請各位客倌聽我娓娓道來

Now listen carefully

GNU screen 七宗罪

The SE7EN deadly sins

!

罪宗一�

The 1st deadly sin

Memory eating MONSTER

Sort by MEM%

100 windows in Screen

370 MB residentRef: http://jon.endpoint.com/utosc-2012/screen-vs-tmux-faceoff.html

Ref: http://jon.endpoint.com/utosc-2012/screen-vs-tmux-faceoff.html

100 windows in tmux

5 MB resident

!

罪宗二�

The 2nd deadly sin

Split with 3 window happily

來去猩巴克當個

假文青真碼農Think about coding at Starbucks

體驗文青生活妹也走光寫扣吧

$ screen -x

Reattach to previous session

WTF…

?

?

Restore a session with splitted screen

Ref: http://superuser.com/questions/69816/how-to-keep-windows-split-after-detaching-reattaching-gnu-screen

!

罪宗三�

The 3rd deadly sin

Not under active development

A dead project… since 2008

!

罪宗四�

The 4th deadly sin

.

..

...

掰不下去了

Cannot think of more deadly sin

其實還不錯請繼續支持自由軟體

Screen is still pretty excellent Donate Free Software, thanks!

究竟tmux

有何過人之處Why tmux rocks?

極具彈性的Session > Window > Pane

視窗管理Flexible Session / Window / Pane

window management

ScreenshotPane 1 Pane 2

Pane 3

Window

Left status bar Right status bar

Session Name

Session

$ tmux info

Window 1 …Window 2 Window N

Pane Pane Pane Pane

……Client 1 Client 2 Client N

Session

Window 1 …Window 2 Window N

Pane Pane Pane Pane

Client

Session 2

$ tmux choose-session

Window 1

Pane

Session 1

Window 1

Pane

Session 3

client / server model

Ref: http://bit.ly/tmux-explained

還有什麼特異功能

Any tricks & tips?

!

第靈招�

Tip & Trick 0

No transfer effort from Screen

無痛轉換 i.e. 靈的轉移(驚)

My modification:

Ref: http://sourceforge.net/p/tmux/tmux-code/ci/master/tree/examples/screen-keys.conf

Soul Transfer by: $ alias screen=tmux

!

第一招�

Tip & Trick 1

Multiple paste buffers

$ tmux list-buffers <C-b> # !$ tmux paste-buffer <C-b> ]

!

第二招�

Tip & Trick 2

Powerful mouse mode support

Resize Pane

Select Pane[1]

Select Window

1. screen can do “select pane” only

!

第三招�

Tip & Trick 3

Vertical splitting w/o patching

You can patch GNU Screen to do it

It’s pretty useful under 16:9 widescreen

!

第四招�

Tip & Trick 4

Multiple root-privileged system administrators can share the same session to manage the server.

remote SSH w/o leaking your “password”

Remote debugging

Pair Programming

Shared Sessions

Pair Programmingwemux: Multi-User Tmux Made Easy

Mode: mirror / pair / rogue

No Magic

Ref: http://bit.ly/tmux-explained

!

第五招�

Tip & Trick 5

Search in windows

$ tmux find-window <C-b> f

!

第六招�

Tip & Trick 6

Powerline support

• Personal bias … XD

• UTF-8 status line support

https://github.com/erikw/tmux-powerline

!

第七招�

Tip & Trick 7

Synchronize panes

<C-b> : :set synchronize-panes on

!

第八招�

Tip & Trick 8

Highly Scriptable

$ tmux list-commands $ tmux list-keys

Ref: https://gist.github.com/lance/7486428

!

第九招�

Tip & Trick 9

handy tmux_backup.sh

Ref: http://sourceforge.net/p/tmux/tmux-code/ci/master/tree/examples/tmux_backup.sh

Snapshot :

!

第十招�

Tip & Trick 10

PuTTy Fn key issue Terminal > Keyboard > Function Keys and Keypad: “Xterm R6”

!

第十一招�

Tip & Trick 11

Scrollback issue* How can I make tmux use my terminal's scrollback buffer? !Normally, tmux enables the terminal's "alternate screen". Most terminals (such as xterm) do not save scrollback for the alternate screen. You might prefer tmux to use the normal screen, so it uses your terminal's scrollback buffer. This way, you can access the scrollback buffer as usual, for example using the mouse wheel - although there is no guarantee output inside tmux will always (or ever) be added to the scrollback. !You can make tmux use the normal screen by telling it that your terminal does not have an alternate screen. Put the following in ~/.tmux.conf: ! set -g terminal-overrides 'xterm*:smcup@:rmcup@'

Ref: tmux FAQ http://tmux.svn.sourceforge.net/viewvc/tmux/trunk/FAQ

!

第十二招�

Tip & Trick 12

#  Add  in  .tmux.conf  !#  Lightning  fast  pane  movement  w/o  prefix  key  by  <Alt-­‐`>  bind  -­‐n  M-­‐`  select-­‐pane  -­‐t:.+  !#  Lightning  fast  pane  resize  w/o  mouse  mode  by  <Alt-­‐ArrowKey>  bind  -­‐n  M-­‐up        resize-­‐pane  -­‐U  1  bind  -­‐n  M-­‐down    resize-­‐pane  -­‐D  1  bind  -­‐n  M-­‐left    resize-­‐pane  -­‐L  1  bind  -­‐n  M-­‐right  resize-­‐pane  -­‐R  1  

Lightening fast key binding “-n”

!

第十三招�

Tip & Trick 13

#  Add  in  .tmux.conf  !#  Lightning  fast  entering  copy-­‐mode  by  <Alt-­‐c>  #  Extremely  useful  when  split-­‐pane  are  heavily  used.  bind  -­‐n  M-­‐c  copy-­‐mode  bind  -­‐n  M-­‐PPage  copy-­‐mode  -­‐u  bind  -­‐n  S-­‐PPage  copy-­‐mode  -­‐u  !#  Lightning  fast  window  select  by  <Alt-­‐H>  /  <Alt-­‐L>  bind  -­‐n  M-­‐H  prev  bind  -­‐n  M-­‐L  next  

Lightening fast key binding (cont.)

Entering copy-mode

Search keyword in scrollback buffer

ReferenceTmux @ Arch Linux wiki

https://wiki.archlinux.org/index.php/Tmux

Screen vs. tmux Faceoff

http://jon.endpoint.com/utosc-2012/screen-vs-tmux-faceoff.html

Fixing Vim's Background Color Erase for 256-color tmux

http://sunaku.github.io/vim-256color-bce.html

How to Copy and Paste with tmux on Mac OS X

http://robots.thoughtbot.com/how-to-copy-and-paste-with-tmux-on-mac-os-x

Reference cont.wemux: Multi-User Tmux Made Easy

https://github.com/zolrath/wemux

tmux-powerline

https://github.com/erikw/tmux-powerline

tmux FAQ

http://sourceforge.net/p/tmux/tmux-code/ci/master/tree/FAQ

My .tmux.conf

https://github.com/chenkaie/DotFiles/blob/master/.tmux.conf

top related