Di chuyển một khung tmux sang phiên khác


43

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:


68

Có, nó khá dễ, sử dụng move-panelệ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.

Bước một

Di chuyển vào khung bạn muốn chuyển sang phiên khác

Bước hai

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).

Bước 3 - chạy lệnh

<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-panelệ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 COMMANDStrong man tmux.


12
Có một thủ tục đơn giản hơn: đánh dấu khung với <prefix>m, đi đến cửa sổ đích <prefix>wvà di chuyển khung được đánh dấu ở đó với join-pane.
Dan Aloni

7

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_namemà không window_numberthí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-windowdst-windowcó hình thức session:window.pane.


-1

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


Điều đó không thực sự di chuyển khung từ phiên này sang phiên khác. Điều đó chỉ thay đổi phiên bạn đang xem từ thiết bị đầu cuối hiện tại. Nó tương đương với việc ngắt kết nối và kết nối với phiên khác. Tôi muốn thực sự có thể di chuyển các bảng giữa các phiên với nhiều bảng khác mở.
HEGX64
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.