tmux Thiết lập
Pi hoạt động bên trong tmux, nhưng tmux loại bỏ thông tin sửa đổi khỏi một số phím nhất định theo mặc định. Nếu không có cấu hình, Shift+Enter và Ctrl+Enter thường không thể phân biệt được với Enter thông thường.
Cấu hình đề xuất
Thêm vào ~/.tmux.conf:
set -g extended-keys on
set -g extended-keys-format csi-uSau đó khởi động lại đầy đủ tmux:
tmux kill-server
tmuxPi tự động yêu cầu báo cáo khóa mở rộng khi không có giao thức bàn phím Kitty. Với extended-keys-format csi-u, tmux chuyển tiếp các khóa được sửa đổi ở định dạng CSI-u, đây là cấu hình đáng tin cậy nhất. Tùy chọn extended-keys-format yêu cầu tmux 3.5 trở lên.
Tại sao csi-u được khuyến nghị
Chỉ với:
set -g extended-keys ontmux mặc định là extended-keys-format xterm. Khi ứng dụng yêu cầu báo cáo khóa mở rộng, các khóa đã sửa đổi sẽ được chuyển tiếp ở định dạng xterm modifyOtherKeys, chẳng hạn như:
Ctrl+C→\x1b[27;5;99~Ctrl+D→\x1b[27;5;100~Ctrl+Enter→\x1b[27;5;13~
Với extended-keys-format csi-u, các phím tương tự được chuyển tiếp dưới dạng:
Ctrl+C→\x1b[99;5uCtrl+D→\x1b[100;5uCtrl+Enter→\x1b[13;5u
Pi hỗ trợ cả hai định dạng, nhưng csi-u là thiết lập tmux được đề xuất.
Cái này sửa cái gì
Nếu không có tmux khóa mở rộng, các phím Enter đã sửa đổi sẽ thu gọn thành các chuỗi cũ:
| Chìa khóa | Không có phím mở rộng | Với csi-u |
|---|---|---|
| Đi vào | \r |
\r |
| Shift+Enter | \r |
\x1b[13;2u |
| Ctrl+Enter | \r |
\x1b[13;5u |
| Alt/Tùy chọn+Enter | \x1b\r |
\x1b[13;3u |
Điều này ảnh hưởng đến các tổ hợp phím mặc định (Enter để gửi, Shift+Enter cho dòng mới) và mọi tổ hợp phím tùy chỉnh bằng cách sử dụng Enter đã sửa đổi.
Yêu cầu
- tmux 3,5 trở lên cho
extended-keys-format csi-u(chạytmux -Vđể kiểm tra) - Trình mô phỏng thiết bị đầu cuối hỗ trợ các khóa mở rộng (Ghostty, Kitty, iTerm2, WezTerm, Windows Terminal)
Với tmux 3.2 đến 3.4, bỏ qua extended-keys-format csi-u; Pi vẫn hỗ trợ định dạng xterm modifyOtherKeys mặc định của tmux.