it-swarm-vi.com

Làm cách nào để tách thiết bị đầu cuối thành nhiều "chế độ xem"?

Từ vi, nếu bạn ban hành lệnh :sp, màn hình chia thành hai "lượt 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?

285
Justin Ethier

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

  • Để phân chia theo chiều dọc: ctrla sau đó |.
  • Để chia theo chiều ngang: ctrla sau đó S (chữ hoa 's').
  • Để giải phóng: ctrla sau đó Q (chữ hoa 'q').
  • Để chuyển từ cái này sang cái khác: ctrla sau đó tab

Lưu ý: Sau khi chia tách, bạn cần đi vào khu vực mới và bắt đầu một phiên mới thông qua ctrla sau đó c trướ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: ctrla sau đó c.
  • Thiết bị đầu cuối tiếp theo: ctrla sau đó space.
  • Thiết bị đầu cuối trước: ctrla sau đó backspace.
  • Nhà ga thứ n ctrla sau đó [n]. (hoạt động cho n∈ {0,1 HỒ 9})
  • Chuyển đổi giữa các thiết bị đầu cuối bằng cách sử dụng danh sách: ctrla sau đó " (hữu ích khi có hơn 10 thiết bị đầu cuối)
  • Gửi ctrla đến thiết bị đầu cuối bên dưới ctrla sau đó a.
376
shellholic

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

tmux screenshot

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

117
Yonatan Maman

Như đã đề cập trong các bình luận, ngoài 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 đầy đủ về mô tả và lệnh. Một số thao tác cơ bản để bắt đầu là:

  • Chia màn hình theo chiều dọc: Ctrlb và Shift5
  • Chia màn hình theo chiều ngang: Ctrlb và Shift"
  • Chuyển đổi giữa các bảng: Ctrlb và o
  • Đóng khung hiện tại: Ctrlb và x

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ửa sổ: Ctrlb và c
  • Chuyển sang cửa sổ tiếp theo: Ctrlb và n
  • Chuyển sang cửa sổ trước: Ctrlb và p
  • Phá hủy cửa sổ hiện tại: Ctrlb và Shift7
67
dkaragasidis

Nếu bạn muốn một chương trình chỉ tách một thiết bị đầu cuối¹, thì splitvt . Có những chương trình phân tách một thiết bị đầu cuối và làm rất nhiều thứ khác bên cạnh, chẳng hạn như Screen, Tmux, Emacs, khắc

¹ Đây là thiết bị đầu cuối bạn đang chia tách, không phải Shell.

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

20
alemani

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

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

  • Ctrl+) để chia nhỏ Xem trên cùng/dưới cùng

  • Shift+Tab sẽ chuyển qua các khung nhìn phân chia

  • Shift+Left Arrow/Right Arrow sẽ chuyển đổi chế độ xem hiện tại thông qua các tab/chế độ xem

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

9
MrUser

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.

Đây là bộ ghép kênh đầu cuối duy nhất có chức năng 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: tilix là một thay thế terminator 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 gắn bó với terminator tuy nhiên do xử lý tab đẹp hơn và cấu hình dễ dàng hơn (từ POV của tôi).

7
sjas

Hướng dẫn + Byob

Tại đây Tôi đã viết một câu trả lời đầy đủ hơn .

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

Ba bước

  1. Cài đặt chúng (không cần PPA trên Ubuntu/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:

    screenshot

Tùy chọn

  1. Hướng dẫn

    1. Bỏ chọn "Hiển thị thanh tab", vì bạn sẽ sử dụng Byobu cho điều đó:
      image
    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+F2 để phân chia theo chiều dọc): screenshot
  2. Byobu

    1. Tìm hiểu các phím tắt với Shift+F1 hoặ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 là Shift+F12 để vô hiệu hóa các phím F byobu.

screenshot

  • Để hạnh phúc hơn nữa, hãy sử dụng zsh với oh-my-zsh
  • Kiểm tra thiết lập thiết bị đầu cuối của bạn với this lái thử .
6
Pablo A

Hãy thử Chia dọc cho GN

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 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ác phần tách 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ự được dự kiến ​​sẽ xuất hiện trong GNU Màn hình 4.1 và đã có sẵn trong CVS cho mỗi luồng danh sách gửi thư này (và đã có đã đượ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 xem thử!).

2
Narga