2021-05-12 14:32:11
打造高效前端工作環境 - tmux
前言
現在前端開發可不容易啊,先開啟個VIM,然後再開啟個lite-server,一不小心寫個ES2015還要開啟個gulp來做預編譯,如果能把這麼多個視窗放在一個工作台上那就好了。咦,tmux不就專幹這事的嗎?
tmux入門
安裝sudo apt install tmux
tmux的C/S架構
伺服器端(Server), 1個伺服器端維護1~N個對談;
對談(Session), 1個對談對應1~N個視窗;
視窗(Window), 1個視窗對應1~N個窗格;
窗格(Pane),vim、bash等具體任務就是在窗格中執行。
1.進入tmux
在shell中執行tmux
就會自動建立一個匿名對談、視窗和窗格,而窗格內正在執行著另一個shell程式,這時我們可以像平常使用shell一樣來工作。而tmux真正的威力在於對對談、視窗和窗格的管理,但在此之前我們要先了解開啟魔法的閥門——快捷鍵字首(prefix)。
2.快捷鍵字首(prefix)
tmux為使自身的快捷鍵和其他軟體的快捷鍵互不干擾,特意提供一個快捷鍵字首,預設為Ctrl
+b
。因此當我們輸入任何tmux快捷鍵前必須先輸入Ctrl
+b
。
由於快捷鍵字首是可以重置的,因此後文將以<prefix>
來指代快捷鍵字首。
3.操作Pane
建立(通過分割當前pane實現)<prefix>
"
,水平分割當前pane<prefix>
%
,垂直分割當前pane
關閉<prefix>
x
,刪除當前pane
跳轉<prefix>
<up-arrow>
/<down-arrow>
/<left-arrow>
/<right-arrow>
, 通過上下左右方向鍵跳轉到對應的pane<prefix>
;
,跳轉到上次啟用的pane<prefix>
o
,跳轉到下一個pane<prefix>
q
,顯示各pane的編號,並輸入編號跳轉到對應的pane
修改尺寸<prefix>
+<up-arrow>
/<down-arrow>
/<left-arrow>
/<right-arrow>
, 通過上下左右方向修改當前pane的高寬
縮放<prefix>
z
,縮放當前pane
其他<prefix>
{
,將當前pane移動到最左邊<prefix>
}
,將當前pane移動到最右邊<prefix>
!
,將當前pane轉變成window
4.操作Windoiw
建立<prefix>
c
,建立window
重新命名<prefix>
,
,重新命名當前window
注意:由於tmux預設會根據當前pane執行的程式來改變window名稱,因此需要在~/.tmux.conf
中加入set-option -g allow-rename off
來固化window名稱。
關閉<prefix>
&
,關閉當前window
跳轉<prefix>
n
,跳轉到下一個window<prefix>
p
,跳轉到上一個window<prefix>
0
...9
,跳轉到對應的window
其他<prefix>
:swap-window -s 2 -t 1
, 調轉編號為2和1的兩個window的次序
5.操作Session<prefix>
s
,顯示所有對談<prefix>
$
,重新命名<prefix>
d
,脫離當前對談<prefix>
:kill-session
,關閉當前對談<prefix>
(
,跳轉到上一個對談<prefix>
)
,跳轉到下一個對談
tmux進階
1.細摳Session操作
我們為前端開發環境和後端開發環境分別建立兩個Session來獨立管理,那麼我們就可以靈活地在兩個Session間穿梭,並且可以分別和前端、後端開發人員協同工作,下面我們看看相關的命令吧。$ tmux
或 <prefix>
:new
, 建立匿名Session$ tmux new -s mysession
或 <prefix>
:new -s mysession
, 建立名為mysession的Session$ tmux kill-session -t mysession
,關閉mysession對談$ tmux kill-session -a
,關閉所有對談$ tmux ls
,顯示所有對談資訊$ tmux a
,附加到最近一個對談$ tmux a -t mysession
,附加到對談mysession
2.多個panes輸入同步<prefix>
+ :setw synchronize-panes
這個功能在通過ssh維護多台伺服器時十分有用!
3.複製貼上
通過tmux我們可以通過純鍵盤操作實現跨pane的複製貼上。首先在~/.tmux.conf
檔案中新增setw -g mode-keys vi
,啟用vi鍵盤方式(hjkl
方向鍵,/?nN
搜尋)操作buffer內容。
進入複製模式,<prefix>
[
開始選擇,<Spacebar>
選擇結束並將內容複製到新的buffer,<Enter>
取消選擇,<Esc>
從buffer_0貼上到游標位置,<prefix>
]
可見複製的內容均暫存在buffer中,而tmux也提供直接操作buffer的命令給我們.<prefix>
: show-buffer
,顯示buffer_0的內容<prefix>
: capture-pane
, 儲存當前pane的內容<prefix>
: list-buffers
, 顯示所有buffer內容<prefix>
: choose-buffer
, 選擇buffer並貼上<prefix>
: save-buffer buf.txt
, 儲存buffer內容到but.txt<prefix>
: delete-buffer -b 1
, 刪除buffer_1的內容
4.美化狀態列
預設的tmux樣式有點醜,而https://github.com/gpakosz/.tmux這個設定則為我們提供漂亮狀態列.
下面關於Tmux的文章您也可能喜歡,不妨看看:
Tmux:終端複用器 http://www.linuxidc.com/Linux/2013-07/86776.htm
運維基礎工具tmux介紹及使用 http://www.linuxidc.com/Linux/2016-10/135950.htm
tmux使用簡單教學 http://www.linuxidc.com/Linux/2014-10/107644.htm
Tmux 入門指南 http://www.linuxidc.com/Linux/2015-07/119843.htm
用 Tmux 和 Vim 打造 IDE http://www.linuxidc.com/Linux/2015-06/119165.htm
CentOS下Tmux安裝和使用 http://www.linuxidc.com/Linux/2014-11/109375.htm
用 Tmux 和 Vim 打造 IDE http://www.linuxidc.com/Linux/2015-06/119165.htm
相關文章