Thiết lập thiết bị đầu cuối
Pi sử dụng Kitty keyboard protocol để phát hiện khóa bổ trợ đáng tin cậy. Hầu hết các thiết bị đầu cuối hiện đại đều hỗ trợ giao thức này, nhưng một số yêu cầu cấu hình.
Kitty, iTerm2
Làm việc ra khỏi hộp.
Nhà ga táo
Pi cho phép báo cáo khóa nâng cao khi có sẵn. Nếu Terminal.app vẫn gửi Return đơn giản cho Shift+Enter, pi sẽ sử dụng dự phòng công cụ sửa đổi macOS cục bộ để coi Return đó là Shift+Enter.
Dự phòng này chỉ hoạt động khi pi chạy trên cùng máy Mac với Terminal.app. Nó không thể phát hiện bàn phím cục bộ qua điều khiển từ xa SSH.
ma quái
Thêm vào cấu hình Ghostty của bạn (~/Library/Application Support/com.mitchellh.ghostty/config trên macOS, ~/.config/ghostty/config trên Linux):
keybind = alt+backspace=text:\x1b\x7fCác phiên bản Mã Claude cũ hơn có thể đã thêm ánh xạ Ghostty này:
keybind = shift+enter=text:\nÁnh xạ đó sẽ gửi một byte nguồn cấp dữ liệu thô. Bên trong pi, không thể phân biệt được với Ctrl+J, vì vậy tmux và pi không còn nhìn thấy sự kiện quan trọng shift+enter thực sự nữa.
Nếu Mã Claude 2.x hoặc mới hơn là lý do duy nhất khiến bạn thêm ánh xạ đó thì bạn có thể xóa nó, trừ khi bạn muốn sử dụng Mã Claude trong tmux, nơi nó vẫn yêu cầu ánh xạ Ghostty đó.
Pi liên kết Ctrl+J làm bí danh dòng mới mặc định, vì vậy Shift+Enter tiếp tục hoạt động trong tmux thông qua bản sửa lại đó mà không cần cấu hình pi bổ sung.
WezTerm
WezTerm thường hoạt động tốt với Shift+Enter thông qua xterm modOtherKeys. Để sử dụng giao thức bàn phím Kitty một cách rõ ràng, hãy tạo ~/.wezterm.lua:
local wezterm = require 'wezterm'
local config = wezterm.config_builder()
config.enable_kitty_keyboard = true
return configTrên macOS, WezTerm liên kết Option+Enter với toàn màn hình theo mặc định. Để sử dụng Option+Enter cho hàng đợi theo dõi pi, hãy thêm ghi đè khóa này:
local wezterm = require 'wezterm'
local config = wezterm.config_builder()
config.keys = {
{
key = 'Enter',
mods = 'ALT',
action = wezterm.action.SendString('\x1b[13;3u'),
},
}
return configNếu bạn đã có bảng config.keys, hãy thêm mục nhập vào bảng đó.
Trên WSL, WezTerm có thể yêu cầu con trỏ phần cứng hiển thị để định vị cửa sổ ứng cử viên IME. Nếu ứng viên CJK IME không đi theo con trỏ văn bản, hãy đặt PI_HARDWARE_CURSOR=1 trước khi chạy pi hoặc đặt showHardwareCursor thành true trong cài đặt.
nhanh nhẹn
Alacritty thường hoạt động hiệu quả với giá Shift+Enter. Trên macOS, Option+Enter có thể xuất hiện dưới dạng Enter đơn giản. Để sử dụng Option+Enter cho hàng đợi theo dõi pi, hãy thêm vào ~/.config/alacritty/alacritty.toml:
[[keyboard.bindings]]
key = "Enter"
mods = "Alt"
chars = "\u001b[13;3u"Khởi động lại Alacritty sau khi thay đổi cấu hình.
Mã VS (Thiết bị đầu cuối tích hợp)
Theo mặc định, Mã VS 1.109.5 trở lên kích hoạt giao thức bàn phím Kitty trong thiết bị đầu cuối tích hợp, vì vậy Shift+Enter sẽ hoạt động tốt.
Các phiên bản Mã VS cũ hơn 1.109.5 cần có liên kết phím đầu cuối rõ ràng cho Shift+Enter.
keybindings.json địa điểm:
- macOS:
~/Library/Application Support/Code/User/keybindings.json - Linux:
~/.config/Code/User/keybindings.json - Cửa sổ:
%APPDATA%\\Code\\User\\keybindings.json
Thêm vào keybindings.json:
{
"key": "shift+enter",
"command": "workbench.action.terminal.sendSequence",
"args": { "text": "\u001b[13;2u" },
"when": "terminalFocus"
}Thiết bị đầu cuối Windows
Thêm vào settings.json (Ctrl+Shift+ hoặc Cài đặt → Mở tệp JSON) để chuyển tiếp các phím Enter đã sửa đổi mà pi sử dụng:
{
"actions": [
{
"command": { "action": "sendInput", "input": "\u001b[13;2u" },
"keys": "shift+enter"
},
{
"command": { "action": "sendInput", "input": "\u001b[13;3u" },
"keys": "alt+enter"
}
]
}Shift+Enterchèn một dòng mới.- Theo mặc định, Windows Terminal liên kết
Alt+Entervới toàn màn hình. Điều đó ngăn pi nhậnAlt+Enterđể xếp hàng tiếp theo. - Thay vào đó, việc ánh xạ lại
Alt+EnterthànhsendInputsẽ chuyển tiếp hợp âm phím thực tới pi.
Nếu bạn đã có mảng actions, hãy thêm các đối tượng vào đó. Nếu hiện tượng toàn màn hình cũ vẫn tồn tại, hãy đóng hoàn toàn và mở lại Windows Terminal.
xfce4-terminal, thiết bị đầu cuối
Các thiết bị đầu cuối này có hỗ trợ trình tự thoát hạn chế. Không thể phân biệt được các phím Enter đã sửa đổi như Ctrl+Enter và Shift+Enter với Enter thông thường, ngăn không cho các phím bấm tùy chỉnh như submit: ["ctrl+enter"] hoạt động.
Để có trải nghiệm tốt nhất, hãy sử dụng thiết bị đầu cuối hỗ trợ giao thức bàn phím Kitty:
IntelliJ IDEA (Thiết bị đầu cuối tích hợp)
Thiết bị đầu cuối tích hợp có hỗ trợ trình tự thoát hạn chế. Shift+Enter không thể được phân biệt với Enter trong thiết bị đầu cuối của IntelliJ.
Nếu bạn muốn hiển thị con trỏ phần cứng, hãy đặt PI_HARDWARE_CURSOR=1 trước khi chạy pi (mặc định bị tắt để tương thích).
Hãy cân nhắc sử dụng trình mô phỏng thiết bị đầu cuối chuyên dụng để có trải nghiệm tốt nhất.