Tmux 教學 + Screen 到 Tmux 的無痛轉換

在 Linux / BSD 使用 Screen 已經很習慣, 但是現在有更好用的同類產品 Tmux.

Tmux 除了平常 Screen 功能外, 有簡化很多快速鍵, ex: 視窗切割, 視窗切換, 多人共享同一個畫面 等等. (特別是 視窗切割 變的非常容易)

  • 官方網站: tmux

註1: 此篇快速鍵等, 是依照 Screen + Vim 的設定所產出的, 有些可能會跟 Tmux 原始的有些不同, 可能得要測試看看.

註2: 若使用此篇的 .tmux.conf, 只需要習慣 tmux 的指令操作, 進入 tmux 後, 快速鍵都跟 Screen 一樣,   就可以輕鬆轉換過去.

於 Debian / Ubuntu Linux 安裝 Tmux

  • apt-get install tmux

Tmux V.S Screen 對照學習

Tmux 與 Screen 中間還是有些不同的地方, 在這兩篇的對照表, 可以加快學習速度.

Screen 與 Tmux 指令操作 對照表

Tmux 的指令是需要另外學習的, 剩下的進入 Tmux 後的操作, 只要將設定檔弄到跟 Screen 相同即可.

視窗取回
  • screen -r
  • tmux attach
視窗取回 by session name
  • screen -r session-name
  • tmux attach -t session-id
視窗開啟自訂 session-name
  • screen -S session-name
  • tmux new -s session-name # ex: tmux new -s irc
列出所有 session
  • screen -ls
  • tmux ls # tmux list-sessions

Tmux 設定檔 -- .tmux.conf

不過, Screen 已經很習慣, 現在要轉換到 Tmux, 要重新適應還蠻困難的, 所以只好把 Tmux 設定成跟 Screen 快速鍵一模一樣, 來達到無痛轉換. 😛

Debian / Ubuntu 安裝 Tmux 後, 於設定檔範例裡面, 就有設定成跟 Screen 快速鍵一致的設定, 還有把 Vim 的快速鍵操作方式(切割視窗)加入 的設定範例, 位置如:

  • /usr/share/doc/tmux/examples/screen-keys.conf
  • /usr/share/doc/tmux/examples/vim-keys.conf

vim ~/.tmux.conf # 將上述兩個檔案加入, 再加上我自己習慣的 Status 顏色等設定, 詳見下述檔案. (將此檔案抓下來, 改名為 ~/.tmux.conf 即可)

Tmux 快速鍵

Tmux 預設Key 是 Ctrl + b, 使用上述設定後, 會設成 Ctrl + a, 至於快速鍵都會跟 Screen 一樣, Tmux 的快速鍵就沒有額外研究了.

註: 於此篇下方有 “Tmux 教學文件", 有興趣可自行參考.

至於 Screen 若不熟的(基本的跟下述兩篇都一樣), 這兩篇可以參考.

而 Tmux 有額外特殊功能部份, 如下述: (註: 下述都是依照上述的 .tmux.conf, 若設定檔不同, 可能快速鍵會有些差異)

  • Tmux 功能
    • C-a ? 看說明 (M 代表要先按一下 Esc 鍵)
    • C-a t 時鐘, 現在時間
    • C-a q 可以看到視窗數字 -- 若有切割視窗比較容易懂
  • 分割 / 切割視窗 相關
    • C-a Ctrl按著 + 上下左右, 可以調整視窗大小
    • C-a s 橫切
    • C-a v 直切 (或 C-a %)
    • C-a C-o 調換 切割視窗 的 位置
    • C-a 上下左右 跳到上下左右的分割視窗
  • 切割視窗有些 Default Layout 可以用, 假設我已經切了四個分割視窗.
    • C-a Esc 1 直的切割視窗排列 (M-1)
    • C-a Esc 2 橫的切割視窗排列 (M-2)
    • C-a Esc 3 上面一個大的橫視窗 + 下面直的三個直視窗 (M-3)
    • C-a Esc 4 左面一個大的橫視窗 + 右面直的三個直視窗 (M-4)
    • C-a Esc 5 四個視窗各 1/4 (M-5)

多人共同 操作 / 顯示 同一畫面

  • Screen 有多人可以一起登入看同一個畫面的功能, 作法: Linux 文字模式 螢幕畫面共享 -- 使用Screen
  • 於 Tmux 的話, 不需要做任何事情, 只要每個人登入後, 直接 tmux attach 進去, 就是多人共同看到的畫面, 大家都可以操作同一畫面.

Tmux 測試 256 色支援

  • vim .bashrc # 若 tmux 沒有 256 色, 於 .bashrc 加入下述試試看.

    alias tmux=’TERM=xterm-256color tmux -2′

  • $ echo -e “My favorite color is \033[38;5;148mYellow-Green\033[39m" # 應該會看到黃綠色的顏色, 若不支援 256 色, 會看到綠色
  • $ tput colors

    256

Tmux 教學文件 -- 推薦

相關網頁

Copyright © 2011. All Rights Reserved.

關於 Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
本篇發表於 My_Note-Unix 並標籤為 , , 。將永久鏈結加入書籤。

Tmux 教學 + Screen 到 Tmux 的無痛轉換 有 17 則回應

  1. MH 說道:

    習慣screen的話,可以直接使用byobu (apt-get install byobu)

  2. Sean 說道:

    Hi,

    tmux 有支援 multiple 送指令了嘛 😛

  3. juel 說道:

    請問 tmux 支援捲軸模式用 hjkl 等 vi 的方式移動嗎?

  4. stan 說道:

    調整視窗size我測了一下是Alt按住

    感謝您的分享

    很實用!

  5. stan 說道:

    我是參照你文章這一行

    “C-a Ctrl按著 + 上下左右, 可以調整視窗大小"

    我Ctrl按著不能work 查了一下原來是按住Alt

  6. stan 說道:

    剛測了一下 在Ubuntu下的確是按Ctrl

    原來之前是在Pietty底下按Alt才能work

    設定檔是copy你那份的XD

    感謝~!

  7. alswl 說道:

    我的 tmux / screen 在默認設定下面不支援 Ctrl+x / Ctrl + e 調出 vim 來編輯當前指令。
    請問需要設定什麼麼?

  8. 凍仁翔 說道:

    用了 shell/tmux.conf 這個設定以後就變得不能用滑鼠直接選取文字了,敢問前輩知道問題出在哪嗎?

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *