Thay đổi kích thước khung không hoạt động cho tmux trên mac?


33

Sau khi tìm kiếm thông qua, tôi đã tìm ra ctrl + b (PREFIX), sau đó ctrl + mũi tên sẽ thay đổi kích thước khung hiện tại. Nhưng nó không hoạt động. Tôi có thiếu thứ gì không?

Cảm ơn.


FYI, tôi đã điều chỉnh độ rộng với PREFIX: thay đổi kích thước khung, nhưng vẫn tự hỏi tại sao lệnh trên không hoạt động.
Biswanath

Câu trả lời:


42

Có lẽ thiết bị đầu cuối của bạn không gửi một chuỗi (riêng biệt) khi bạn giữ Controlvà nhấn phím mũi tên.

Hãy thử chạy catvà gõ các phím vào nó (Control-C để thoát). Bạn có thể sẽ thấy rằng (ví dụ) UpControl- Upcả hai tạo ra cùng một chuỗi.

Ứng dụng OS X Terminal

Trong cấu hình mặc định của nó, ứng dụng OS X Terminal sẽ gửi chuỗi ^[[A(hoặc ^[OA) cho dù bạn nhập Uphoặc Control- Up(cũng là bất kỳ kết hợp nào với ShiftOption, quá).

Tuy nhiên, bạn có thể cấu hình lại Terminal để gửi mã phù hợp. Nó hơi tẻ nhạt, nhưng bạn thường chỉ phải làm một lần.

  1. Thiết bị đầu cuối > Sở thích
  2. Cài đặt tab cấp cao nhất
  3. chọn hồ sơ bạn muốn sửa đổi
  4. Tab bàn phím
  5. nhấp vào nút dấu cộng để thêm một ràng buộc mới

    • chọn một phím con trỏ
    • đặt công cụ sửa đổi thành control
    • sử dụng Send Text:hành động
    • loại Escape(sẽ hiển thị dưới dạng \033) theo sau [1;5và thêm một ký tự:
      • Acho Up,
      • Bcho Down,
      • Ccho Right, hoặc
      • D cho Left
    • nhấn OK để thêm ràng buộc

Ví dụ, chuỗi cuối cùng cho Control- Upsẽ kết thúc như thế nào \033[1;5A.

Các trình tự này là những thứ mà XTerm tạo ra (xem tài liệu ctlseqs để biết chi tiết).

Lặp lại bước cuối cùng cho các phím mũi tên khác.

iTerm 2

iTerm 2 gửi trình tự dự kiến ​​theo mặc định.


Thật vậy, Ctrl + {phím mũi tên} được ánh xạ để chuyển đổi ứng dụng. Họ không gửi trình tự.
Biswanath

19
Tôi đã thử điều này trên máy Mavericks vanilla (MBP retina vào cuối năm 2013), nhưng nó không hoạt động mà không tắt tất cả các phím tắt Ctrl + Mũi tên trong Tùy chọn hệ thống -> Bàn phím -> Phím tắt -> Điều khiển nhiệm vụ. +1 cho mẹo sử dụng catđể xem các sự kiện bàn phím
Alex Leach

hoạt động tốt cho đến khi tôi bắt đầu tmux. Tôi nhận được ^ [[1; 5A ^ [[1; 5B trước khi khởi chạy tmux, nhưng ^ [OA ^ [OB trong tmux.
nakhli

1
@ Sinbadsoft.com: Có vẻ như bạn chưa xterm-keyskích hoạt cửa sổ tmux đó ; bạn có thể muốn set -gw xterm-keys on.
Chris Johnsen

hoạt động hoàn hảo cho tôi (el capitan).
ling

10

Trên ít nhất Mavericks và iTerm2, bạn phải giữ Control, sau đó nhấn b(thay vì giữ), sau đó giữ nút định hướng. Điều này sẽ gửi khá nhiều trình tự tương tự như nhấn giữ Control- bvới một nút định hướng để nó hoạt động.

Ngoài ra, hãy đảm bảo chuyển sang cài đặt bàn phím và trong tab phím tắt sẽ vô hiệu hóa mọi điều khiển nhiệm vụ và các phím tắt như vậy bạn có thể có Controlcùng với một phím điều hướng.


7
cảm ơn! thay đổi các ràng buộc cửa sổ điều khiển nhiệm vụ / ứng dụng trong Phím tắt đã tạo ra sự khác biệt đối với tôi
sixty4bit

7

Bạn có thể sử dụng khóa meta thay vì khóa điều khiển trong các kết hợp ctrl- ↑ và ctrl-. Trong OSX Terminal, khóa meta mặc định là khóa thoát. Ví dụ: để tăng kích thước của khung kiểu ctrl-b esc-.

Tôi thấy phím thoát là một nỗi đau để tiếp cận vì vậy tôi sử dụng phím tùy chọn làm khóa meta thay thế. Trong Terminal.app, bạn có thể thay đổi nó bằng cách đi tới Terminal> Preferences> Profiles> Bàn phím: kiểm tra "Sử dụng tùy chọn làm Meta Key".

Bây giờ bạn có thể nhập tùy chọn ctrl-b- để tăng kích thước hoặc tùy chọn ctrl-b- để giảm kích thước và bạn không phải ánh xạ lại các phím điều khiển nhiệm vụ.


Sử dụng Escape chỉ là giải pháp khi giữ Ctr + Arrow theo mặc định trên MacOS của tôi chuyển sang máy tính để bàn khác.
klimat
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.