Không làm điều này , có thể di chuyển một lệnh đang chạy trong một khung sang một phiên tmux khác không?
Không làm điều này , có thể di chuyển một lệnh đang chạy trong một khung sang một phiên tmux khác không?
Câu trả lời:
Có, nó khá dễ, sử dụng move-pane
lệnh tmux. Để biết thêm thông tin chạy
man tmux | less -I '+/mOVE-pane'
Phần khó khăn là chỉ cần biết tmux tham chiếu các phiên, cửa sổ và bảng trong các lệnh để thao tác các bảng, v.v.
Di chuyển vào khung bạn muốn chuyển sang phiên khác
Lấy tên của phiên mục tiêu bằng cách chạy <prefix>s
.
Trên hệ thống của tôi sản xuất:
(0) + 0: 8 windows (attached)
(1) + 1: 1 windows
^
|
This is the session name. It could be different
on your system and it could be a word (not just a number).
<prefix>:move-pane -t <session_name>:<window number>
^^^^^^^^^^^^^^ the name from above goes in here
Vì vậy, trên hệ thống của tôi, tôi chuyển vào khung với quá trình đang chạy, đã chạy
<prefix>:move-pane -t 1:1
và khung với quá trình trong đó được chuyển sang cửa sổ một trong phiên 1
.
Nó được chèn dưới dạng phân tách, vì vậy thông thường bạn sẽ muốn chạy cửa sổ trên phiên khác dưới dạng cửa sổ vứt đi.
Lưu ý: có vẻ như cửa sổ đích không cần tồn tại, nếu không move-pane
lệnh sẽ gây ra lỗi.
Để biết thêm thông tin về định dạng để chỉ định phiên, cửa sổ và bảng trong lệnh tmux, hãy xem phần COMMANDS
trong man tmux
.
Tôi không thể nhận xét, vì vậy tôi sẽ đặt nó ở đây: đối với tmux 2.1-3build1 ~ chính xác lệnh nên là:
<prefix>:move-pane -t session_name:window_number
- bạn cần một " -t
" trước tên phiên (không nhất thiết phải là số) và cửa sổ có số đã cho phải tồn tại.
Tất cả phần còn lại được mô tả bởi the_velour_fog trong câu trả lời của anh ấy .
PS Nếu bạn chỉ gõ một session_name
mà không window_number
thích như vậy:
<prefix>:move-pane -t session_name:
,
sau đó khung của bạn sẽ được chuyển vào cửa sổ hiện tại của phiên đích (và cửa sổ này sẽ được chia).
PPS Nếu bạn chỉ muốn di chuyển cửa sổ của mình (và không chỉ khung của bạn), thì có một câu trả lời hay về cách Di chuyển cửa sổ giữa các máy khách tmux :
<prefix>:move-window [-d] [-s src-window] [-t dst-window]
(alias: movew)
ở đâu src-window
và dst-window
có hình thức session:window.pane
.
Tôi có hai phiên chạy, mỗi phiên trong iTerm của riêng họ. Tất cả những gì tôi cần làm để di chuyển khung từ phiên này sang phiên khác là
chọn khung
<leader>s <session>
nơi <session>
là một số bên trong dấu ngoặc vuông
tmux 2.7
<prefix>m
, đi đến cửa sổ đích<prefix>w
và di chuyển khung được đánh dấu ở đó vớijoin-pane
.