2023-08-03|閱讀時間 ‧ 約 4 分鐘

【Linux 工具箱 - Tmux】如何在pane進行複製貼上?

raw-image

圖片來源...

Tmux對於常常在使用Linux或者Mac作業系統的朋友來說是一個非常方便的工具, 可以讓我們工作效率提升, 快速切換多個終端畫面進行多工處理, 但使用時難免遇到一些狀況跟需求, 而這次分享的主要是如何複製貼上, 相信這也是大部分使用者會遇到的情境, 因此進行經驗的分享與交流。

輸入指令的快捷鍵: Ctrl + b之後按下「:」。

開啟輸入框之後, 鍵入「mouse on」, 讓畫面可以透過游標進行選取。

圖片來源...

在Tmux複製並貼上

之後直接將游標移動到需要的文字段落(通常是LOG)上選取文字範圍, 選完後, 該文字段落就已經被儲存到黏貼簿的緩衝區。

圖片來源...


切換到另外的Panel進行貼上

我們切換到Tmux之下的另外一個Panel之後就能夠使用「Ctrl + b + ]」進行貼上了。

圖片來源...

那如何貼到Linux系統上呢

Tmux的複製模式預設只會將文本複製到Tmux剪貼簿上, 那如果要貼到系統的話, 則需要額外的套件「xclip」, 它可以做為Tmux與系統之間的橋樑, 讓我們的資料順利通行。

首先進行安裝「xclip」

sudo apt-get install xclip

接著透過以下指令將tmux複製到系統剪貼簿。

tmux show-buffer | xclip -selection clipboard

我們開出兩個視窗, 分別為系統視窗與Tmux視窗來實際試試看。

左邊的視窗, 我們很單純的用滑鼠將文字框起來, 當放開的那一剎那就會自動複製到Tmux剪貼不了, 接著我們在右邊分別執行:

# 透過xclip讓剪貼簿資料互通
tmux show-buffer | xclip -selection clipboard

# 貼上
ctrl + shift + v

圖片來源...

But…這還是有點繁瑣, 有沒有更便利的技巧呢?

上述的操作總共會進行三個動作, 分別為: 「滑鼠選文字 → 打指令 → 貼上」, 我們想要讓流程更加簡化, 只需要「滑鼠選文字 → 貼上」, 行不行? 就來試試看吧!

我們將以下的代碼附加到Tmux配置文件中

# 編輯配置檔
vi ~/.tmux.conf

# 加入以下兩行
bind C-c run "tmux save-buffer - | xclip -i -sel clipboard"

bind C-v run "tmux set-buffer "$(xclip -o -sel clipboard)"; tmux paste-buffer"

接著重啟一下tmux即可。

# 假設已經開啟tmux panel的狀況之下
ctrl + b + :
restart-server

# 假設尚未開啟任何tmux panel
tmux new -s xxx

最後直接使用ctrl + c 複製, ctrl + v 貼上即可。

Issue

unknown option: mode-mouse

# ctrl + b + : 
:set-option -g mouse on

結語

使用tmux的過程中雖然常常分割畫面或者切換非常的方便, 隨著我們用的越深入時,有時候追查LOG也需要將LOG複製一番進行分析, 一直找不到時間好好的設定一下這個部份, 趁著空閒親自設定過一遍並將過程整理分享給剛好遇到狀況的朋友。

喜歡撰寫文章的你,不妨來了解一下:

Web3.0時代下為創作者、閱讀者打造的專屬共贏平台 — 為什麼要加入?

歡迎加入一起練習寫作,賺取知識

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.