Làm cách nào để phân chia thiết bị đầu cuối thành nhiều hơn một chế độ xem khác?


264

Từ vi, nếu bạn phát lệnh :sp, màn hình sẽ chia thành hai "chế độ xem", cho phép bạn chỉnh sửa nhiều tệp từ cùng một thiết bị đầu cuối.

Dọc theo những dòng tương tự, có cách nào để mở nhiều shell trong cùng một thiết bị đầu cuối không?

Câu trả lời:


350

Bạn có thể làm điều đó trong screenbộ ghép kênh đầu cuối.

  • Để chia theo chiều dọc: ctrlasau đó |.
  • Để phân chia theo chiều ngang: ctrlasau đó S(chữ hoa 's').
  • Để unplit: ctrlasau đó Q(chữ hoa 'q').
  • Để chuyển từ một đến khác: ctrlasau đótab

Lưu ý: Sau khi tách, bạn cần phải đi vào các khu vực mới và bắt đầu một phiên làm việc mới thông qua ctrlasau đó ctrước khi bạn có thể sử dụng khu vực đó.

EDIT, sử dụng màn hình cơ bản:

  • Thiết bị đầu cuối mới: ctrlasau đó c.
  • Thiết bị đầu cuối tiếp theo: ctrlasau đó space.
  • Thiết bị đầu cuối trước: ctrlasau đó backspace.
  • N'th terminal ctrlarồi [n]. (hoạt động cho n∈ {0,1 LAN 9})
  • Chuyển đổi giữa các thiết bị đầu cuối bằng cách sử dụng danh sách: ctrlasau đó " (hữu ích khi có hơn 10 thiết bị đầu cuối)
  • Gửi ctrlađến thiết bị đầu cuối cơ bản ctrlasau đó a.

18
Tmux cũng thực hiện điều này và nhiều chương trình thiết bị đầu cuối có chế độ xem và tab tách.
Shawn J. Goff

3
@AaronNewton ctrl+asau đó phát hành mọi thứ sau đó shift+s(không biết khóa mũ, của tôi bị vô hiệu hóa)
shellholic

4
Ctrl A Shift Stách màn hình, sau đó Ctrl A Tabchuyển sang phần tách khác và Ctrl A ctạo dấu nhắc bash. Có cách nào để các lệnh này chạy tự động khi bắt đầu không screenvì vậy chúng ta không phải chạy các lệnh mọi lúc.
Michael Butler

2
Phiên bản nào của màn hình chia dọc? Phiên bản tôi đã cài đặt là 4,00,03, tương tự như bản tải xuống mới nhất có sẵn từ tất cả các gương tôi đã kiểm tra.
Brian Vandenberg

1
Làm cách nào để làm cho một trong các cửa sổ dọc của tôi rộng hơn cửa sổ kia? Tôi muốn chia tách 30 | 30 | 40.
mở

108

Hãy thử tmux (Terminal MUlt MônXer):

ảnh chụp màn hình tmux

Và để hiểu sự khác biệt giữa session, windowpane: tmuxnestings


20
Màn hình vs tmux? tmux có lẽ tốt hơn cho việc sử dụng nâng cao và hiện đại hơn, nhưng màn hình được cài đặt ở mọi nơi và hoạt động tốt.
user606723

Các tmuxtài nguyên trợ giúp tuyệt vời khác là: giới thiệu , cấu hình , mồicheat-sheet .
not2qubit

1
@ user606723 trong số những thứ khác, cấu hình Tmux thực sự có thể đọc được; không giống như một con chó lăn trên bàn phím. Tất nhiên bạn có thể thực hiện với một trình bao bọc như byobu(bao bọc cả hai bộ ghép kênh đầu cuối), nhưng Tmux dường như vượt trội hơn ở một số khía cạnh khác ngoài cấu hình. Và đã vượt trội vài năm trước. Các bản vá cần thiết cho màn hình để chia cả hai hướng và Tmux đã lấy nó ra khỏi hộp. cuối cùng nhưng không kém phần quan trọng, giấy phép có thể là một đối số cho Tmux hoặc Màn hình, tùy thuộc vào vị trí của bạn.
0xC0000022L

1
@ user606723 tính đến năm 2019, điều này không còn đúng nữa. screenbị thiếu trong bản cài đặt tương đối mới của Fedora 30, trong khi tmuxcó mặt.
Sora.

64

Như đã đề cập trong các ý kiến, bên cạnh màn hình, một bộ ghép kênh đầu cuối tốt khác là tmux . Bạn có thể tham khảo hướng dẫn để tham khảo mô tả và lệnh hoàn chỉnh. Một số thao tác cơ bản để bắt đầu là:

  • Chia màn hình theo chiều dọc: CtrlbShift5
  • Chia màn hình theo chiều ngang: CtrlbShift"
  • Chuyển đổi giữa các bảng: Ctrlbo
  • Đóng khung hiện tại: Ctrlbx

Bạn có thể đạt được bố cục phức tạp hơn bằng cách tách các tấm. Bạn cũng có thể có nhiều cửa sổ với các ô và chuyển đổi giữa chúng.

  • Tạo các cửa sổ: Ctrlbc
  • Chuyển sang cửa sổ tiếp theo: Ctrlbn
  • Chuyển sang cửa sổ trước: Ctrlbp
  • Phá hủy cửa sổ hiện tại: CtrlbShift7

3
Lưu ý rằng bạn có thể thay đổi tiền tố của tmux thành thứ gì đó dễ tiếp cận hơn <Cb>.


19

Ngoài các đề xuất tuyệt vời về Màn hình và Tmux nếu bạn đang sử dụng một số loại trình quản lý cửa sổ mà bạn có thể quan tâm đến Terminator, bạn có thể chia thời trang theo chiều ngang hoặc chiều dọc, cộng với các tab và hơn thế nữa ... đây là danh sách các tính năng được lấy từ trang web của tác giả :

  • Sắp xếp các thiết bị đầu cuối trong một lưới
  • Tab
  • Kéo và thả thứ tự lại của thiết bị đầu cuối
  • Rất nhiều phím tắt
  • Lưu nhiều bố cục và cấu hình thông qua trình chỉnh sửa tùy chọn GUI
  • Gõ đồng thời vào các nhóm thiết bị đầu cuối tùy ý

Có một cái nhìn vào các ảnh chụp màn hình trên trang web của dự án.

Quan trọng nhất bạn có thể kết hợp Terminator với Screen / Tmux.


2
Lưu ý rằng việc sử dụng phân tách Terminator sẽ ít thuận tiện hơn khi sao chép giữa hai cửa sổ trình soạn thảo của bạn.
gb.

Bạn có thể chỉnh sửa một số bảng cùng một lúc sau khi nhóm các bảng (hoặc chỉ chọn tất cả cùng một lúc) và bạn cũng có thể chỉnh sửa các phím tắt để chuyển đổi khung. Tôi có ctrl-shift-h/j/k/lđể di chuyển giữa các pan và ctrl- (shift) -tab để chuyển đổi giữa các tab, nó chỉ hoạt động tuyệt vời.
sjas

1
tốt chúng ta có thể nhấp vào chúng để tập trung; Nhưng tôi vẫn không thể tìm cách phân phối đều các thiết bị đầu cuối trong lưới, nó chỉ là một mớ hỗn độn được sửa bằng tay, tôi cũng cần phải tự động thêm các thiết bị đầu cuối, do đó, hãy cập nhật chúng trong một mạng lưới phân bố đều, ý tưởng nào?
Sức mạnh Bảo Bình

Terminator là một chương trình X-windows, không phải là chương trình dòng lệnh như tmux và màn hình. OP đặc biệt đề cập same terminalhai lần, vì vậy Terminator hoặc tilix (như được đề cập bởi @sjas) không phải là đề xuất tốt. Nếu bạn đang ở trong một phiên ssh đến một máy chủ từ xa không có máy chủ X, bạn thậm chí sẽ không thể chạy các công cụ này.
haridsv

8

Konsole cho KDE có chức năng tích hợp :

  • Ctrl+ (để phân chia Chế độ xem Trái / Phải

  • Ctrl+ )để phân chia Chế độ xem trên / dưới

  • Shift+ Tabsẽ chuyển qua các chế độ xem chia

  • Shift+ Left Arrow/ Right Arrowsẽ xoay vòng chế độ xem hiện tại thông qua các tab / lượt xem

  • Ctrl+ Shift+ Xđể đóng chế độ xem hiện tại


Bạn có biết các phím tắt để chuyển đổi giữa các khung nhìn phân chia trong konsole không?
LangeHaare

1
@LangeHaare SHIFT + TAB sẽ quay vòng qua các khung nhìn
chaptuck

7

Sử dụng terminator .

Nên có sẵn thông qua trình quản lý gói yêu thích của bạn, nếu bạn sử dụng phân phối chính.

Nó là bộ ghép kênh đầu cuối duy nhất nơi dán sao chép hoạt động chính xác từ bên trong các ô trong cửa sổ của bạn.

Cập nhật: tilixlà một giải terminatorpháp thay thế gần như hoàn toàn ngang bằng với terminator (và trong đó quá trình sao chép cũng hoạt động đúng). Sau khi đánh giá nó, tôi vẫn kiên trì với terminatorviệc xử lý tab đẹp hơn và cấu hình dễ dàng hơn (từ POV của tôi).


Terminator về mặt kỹ thuật không phải là bộ ghép kênh: "Bộ ghép kênh đầu cuối là một ứng dụng phần mềm có thể được sử dụng để ghép nhiều bảng điều khiển ảo, cho phép người dùng truy cập nhiều phiên thiết bị đầu cuối riêng biệt trong một cửa sổ đầu cuối duy nhất hoặc phiên thiết bị đầu cuối từ xa." (từ Wikipedia)
erb

Nó cũng không phải là bộ ghép kênh duy nhất có chức năng sao chép hoạt động chính xác từ bên trong các bảng, tmux thực hiện điều này tốt với cấu hình phù hợp.
erb

@erb - chính xác những gì phải cấu hình nếu tôi không muốn chọn các dòng hoàn chỉnh kéo dài một số thiết bị đầu cuối khi nhấp ba lần và tại sao đó không phải là cài đặt mặc định lành mạnh?
sjas

1
Bạn có thể sử dụng chế độ sao chép trong tmux để thực hiện sao chép, nếu bạn muốn sử dụng chuột, bạn chỉ cần bật hỗ trợ chuột, cấu hình của tôi với nó ở đây: github.com/ErikBjare/dotfiles/blob/master/home/. tmux / Triệu Nếu bạn muốn sử dụng bảng tạm hệ thống với chế độ sao chép, hãy xem điều này: unix.stackexchange.com/questions/131011/ trộm
erb

2
Huh? Tại sao không? Bạn có thể làm cho nó hoạt động gần như chính xác (nếu không chính xác) giống như cách chọn trong terminator. Tôi đã từng là một người sử dụng terminator vì lý do tương tự, một khi tôi đã cấu hình xong, tôi không bao giờ nhìn lại và bây giờ có thể tiết kiệm khá nhiều RAM và các tài nguyên khác bằng cách chuyển sang trình giả lập thiết bị đầu cuối nhẹ hơn vì việc sao chép là điều duy nhất làm tôi khó chịu.
erb

4

Hướng dẫn + Byobu

Tôi là một người dùng hạnh phúc của Guake với Byobu bên trong nó, theo mặc định sử dụng tmux( có lẽ tốt hơn screen).

Ba bước

  1. Cài đặt chúng (không cần PPA trên Ubuntu cũng như Debian, kiểm tra các bản phát hành khác )

    sudo apt install guake byobu
  2. Thêm nó vào các shell có sẵn (như tôi đã nói trong vấn đề Guake Github này ):

    which byobu | sudo tee -a /etc/shells
  3. Trên tùy chọn Guake ( guake-prefs) chọn Byobu làm trình thông dịch mặc định: Hình ảnh, tưởng tượng


  1. Tùy chọn: Bỏ chọn "Hiển thị thanh tab", vì bạn sẽ sử dụng Byobu cho điều đó:

    Hình ảnh, tưởng tượng

  2. Nếu một phím tắt không hoạt động, hãy thử vô hiệu hóa các Guake có thể can thiệp (trong trường hợp của tôi là Ctrl+F2phân chia theo chiều dọc): ảnh chụp màn hình

Đề xuất khác

  1. Tìm hiểu các phím tắt với Shift+ F1hoặc screencast tuyệt vời này .
  2. Tìm hiểu các lệnh đầu cuối byobu có sẵn với apropos byobu
  3. Để sử dụng các phím fn trên Midnight Commander, hãy sử dụng Alt+ hoặc Shift+ F12để tắt các phím F của byobu.

ảnh chụp màn hình


2

Thử chia dọc cho màn hình GNU

Bản vá này cung cấp tính năng phân chia theo chiều dọc cho các bản phát hành hiện tại của Màn hình GNU. Tính năng này được thiết kế để hoạt động theo cách tương tự như lệnh phân tách hiện có của màn hình, nhưng chia các vùng theo chiều dọc thay vì theo chiều ngang. Cả hai hình thức phân chia có thể được sử dụng cùng nhau trong bất kỳ kết hợp / số lượng / thứ tự mong muốn. Một cái gì đó tương tự dự kiến ​​sẽ sớm xuất hiện trong GNU Screen 4.1 và đã có sẵn trong CVS cho mỗi luồng danh sách gửi thư này (và đã được bao gồm trong các gói màn hình Debian và Ubuntu bắt đầu từ 4.0.3-10). Ngoài ra, một dự án gần đây có tên ScreenWM được thiết kế đặc biệt để hoạt động với màn hình được vá vsplit (hãy kiểm tra!).


Để cụ thể hơn, hãy Ctrl+|tách screenUbuntu ngay lập tức.
Jonatan Öström
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.