新遇到的神器--Tmux

又是一個之前從沒聽過的玩意,最近真的是瘋狂長見識!之前三年明明都只是一個小前端,現在突然接觸後端,看啥都新鮮,看啥都不會。前段時間項目提測,再測試環境的命令行裏同時用了tmux,看的我一臉懵逼,趕緊請教了一下,然後百度了幾個常用快捷鍵,算是知道咋回事兒了,今天週末,抓緊時間補一下,瞭解一波

參考資料:

作用

首先tmux是做啥的捏?

tmux(terminal multiplexer)是什麼呢?它能讓你輕鬆地在多個任務之間切換、使任務在後臺運行並且能夠在不同的終端中恢復之前的任務。

tmux主要的功能有兩點:

  • 終端利用,可以在一個terminal開啓多個shell的session,這樣就不需要vim一個terminal,命令又要需要一個,其他服務還要再開一個了。
  • 斷線保證任務在後臺繼續執行,以及當你上線後保證原來打開的多個窗口與斷線之前完全一樣。以後就不用再使用screen了

安裝及配置

Mac下使用brew install tmux來安裝。

配置:

Tmux默認不支持鼠標滾動查看窗口中的前後內容。需要修改配置來支持。

// 新建文件 .tmux.conf 並編輯
vim ~/.tmux.conf

// 寫入以下
# 開啓鼠標模式
set-option -g mouse on

# 允許鼠標選擇窗格
# set -g mouse-select-pane on
​
# 如果喜歡給窗口自定義命名,那麼需要關閉窗口的自動命名
set-option -g allow-rename off
​
# 如果對 vim 比較熟悉,可以將 copy mode 的快捷鍵換成 vi 模式
set-window-option -g mode-keys vi

// 然後進入tmux
// 執行快捷鍵
ctrl+b (鬆手)// 即可生效

此時,使用快捷鍵ctrl+b (鬆手) % 分窗口之後,就可以使用鼠標來選則窗口了。

場景

我在工作中遇到的場景,是這樣的:

通過ssh連接遠程測試機時,我需要在測試機中同時執行前端的yarn start 和 後端node的yarn dev,但我進入前端目錄執行之後,就沒辦法再退出來cd到後端目錄了。這時候就需要tmux,相當於在測試機中創建多個: 會話(session)、窗口(window)、窗格(Pane),我可以在不用的窗口cd到不同的目錄下,去執行相應的任務。同時我可以很方便的使用tmux來在任務之間切換。

基本應用

啓動tmux

安裝後在命令行輸入tmux就啓動了,看到只有一個窗口,窗口下方會有基本狀態信息。
tmux的使用可以完全靠快捷鍵,快捷鍵以前綴快捷鍵+快捷鍵構成,默認的前綴(prefix)快捷鍵是ctrl-b,用法是按下Ctrl-b,放開後再按下相應的快鍵即可,例如查看tmux會話的快捷鍵是s,可以按下ctrl-b,放開再按s,即可查看當前的所有會話。

針對我的使用常見,其實只用了幾個非常簡單的命令:

// ssh連接測試機
ssh xxxxx

// 查看當前所有會話
tmux ls

// 啓用新會話
tmux [new -s 會話名 -n 窗口名]

// 關閉會話
tmux kill-session -t 會話名

// 進入某一個會話
tmux at [-t 會話名]

// 在會話中進行了需要的操作後,退出會話,使用快捷鍵:
ctrl+b (鬆手) d

更多詳細的快捷鍵,可以參考上邊的參考資料哦。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章