Tổ hợp phím
Tất cả các phím tắt có thể được tùy chỉnh thông qua ~/.pi/agent/keybindings.json. Mỗi hành động có thể được liên kết với một hoặc nhiều phím.
Tệp cấu hình sử dụng cùng các id liên kết phím có khoảng cách tên mà pi sử dụng nội bộ và các tác giả tiện ích mở rộng sử dụng trong keyHint() và được chèn vào trình quản lý keybindings.
Các cấu hình cũ hơn sử dụng id được đặt tên trước như cursorUp hoặc expandTools được tự động di chuyển sang các id được đặt tên khi khởi động.
Sau khi chỉnh sửa keybindings.json, hãy chạy /reload trong pi để áp dụng các thay đổi mà không cần khởi động lại phiên.
Định dạng khóa
modifier+key trong đó các công cụ sửa đổi là ctrl, shift, alt, super (có thể kết hợp) và các khóa là:
- Chữ cái:
a-z - Chữ số:
0-9 - Phím đặc biệt:
escape,esc,enter,return,tab,space,backspace,delete,insert,clear,home,end,pageUp,pageDown,up,down,left,right - Phím chức năng:
f1-f12 - Ký hiệu:
`,-,=,[,],\,;,',,,.,/,!,@,#,$,%,^,&,*,(,),_,+,|,~,{,},:,<,>,?
Các tổ hợp bổ nghĩa: ctrl+shift+x, alt+ctrl+x, ctrl+shift+alt+x, super+k, ctrl+super+k, ctrl+1, v.v.
Các ràng buộc super yêu cầu một thiết bị đầu cuối báo cáo công cụ sửa đổi riêng biệt, thường thông qua giao thức bàn phím Kitty. Chúng có thể không hoạt động trong thiết bị đầu cuối nếu không có sự hỗ trợ đó.
Tất cả hành động
TUI Chuyển động con trỏ của trình chỉnh sửa
| Id liên kết phím | Mặc định | Sự miêu tả |
|---|---|---|
tui.editor.cursorUp |
up |
Di chuyển con trỏ lên, duyệt lịch sử cũ hơn ở trên cùng |
tui.editor.cursorDown |
down |
Di chuyển con trỏ xuống, duyệt lịch sử mới hơn ở phía dưới |
tui.editor.historyPrevious |
(không có) | Chọn mục nhập lịch sử lời nhắc trước đó |
tui.editor.historyNext |
(không có) | Chọn mục nhập lịch sử lời nhắc tiếp theo |
tui.editor.cursorLeft |
left, ctrl+b |
Di chuyển con trỏ sang trái |
tui.editor.cursorRight |
right, ctrl+f |
Di chuyển con trỏ sang phải |
tui.editor.cursorWordLeft |
alt+left, ctrl+left, alt+b |
Di chuyển con trỏ từ sang trái |
tui.editor.cursorWordRight |
alt+right, ctrl+right, alt+f |
Di chuyển con trỏ từ sang phải |
tui.editor.cursorLineStart |
home, ctrl+home, ctrl+a |
Di chuyển đến đầu dòng |
tui.editor.cursorLineEnd |
end, ctrl+end, ctrl+e |
Di chuyển đến cuối dòng |
tui.editor.jumpForward |
ctrl+] |
Chuyển tiếp tới nhân vật |
tui.editor.jumpBackward |
ctrl+alt+] |
Nhảy lùi về nhân vật |
tui.editor.pageUp |
pageUp, ctrl+pageUp |
Cuộn lên theo trang |
tui.editor.pageDown |
pageDown, ctrl+pageDown |
Cuộn xuống theo trang |
Các hành động lịch sử chuyên dụng luôn thay đổi các mục nhập lịch sử, bất kể vị trí con trỏ trong dấu nhắc nhiều dòng. Các liên kết lịch sử rõ ràng được ưu tiên hơn các hành động của ứng dụng trong khi trình chỉnh sửa chính được tập trung, do đó, liên kết tui.editor.historyPrevious với ctrl+p sẽ ghi đè chu kỳ mô hình trong ngữ cảnh đó mà không thay đổi Ctrl+P trong bộ chọn.
TUI Xóa trình chỉnh sửa
| Id liên kết phím | Mặc định | Sự miêu tả |
|---|---|---|
tui.editor.deleteCharBackward |
backspace |
Xóa ký tự lùi |
tui.editor.deleteCharForward |
delete, ctrl+d |
Xóa ký tự phía trước |
tui.editor.deleteWordBackward |
ctrl+w, alt+backspace |
Xóa từ lùi |
tui.editor.deleteWordForward |
alt+d, alt+delete |
Xóa từ tiếp theo |
tui.editor.deleteToLineStart |
ctrl+u |
Xóa để bắt đầu dòng |
tui.editor.deleteToLineEnd |
ctrl+k |
Xóa đến cuối dòng |
TUI Đầu vào
| Id liên kết phím | Mặc định | Sự miêu tả |
|---|---|---|
tui.input.newLine |
shift+enter, ctrl+j |
Chèn dòng mới |
tui.input.submit |
enter |
Gửi đầu vào |
tui.input.tab |
tab |
Tab/tự động hoàn thành |
TUI Vòng tiêu diệt
| Id liên kết phím | Mặc định | Sự miêu tả |
|---|---|---|
tui.editor.yank |
ctrl+y |
Dán văn bản đã xóa gần đây nhất |
tui.editor.yankPop |
alt+y |
Duyệt qua văn bản đã xóa sau khi kéo |
tui.editor.undo |
ctrl+- |
Hoàn tác chỉnh sửa cuối cùng |
TUI Bảng tạm và lựa chọn
| Id liên kết phím | Mặc định | Sự miêu tả |
|---|---|---|
tui.input.copy |
ctrl+c |
Sao chép lựa chọn |
tui.select.up |
up |
Di chuyển lựa chọn lên |
tui.select.down |
down |
Di chuyển lựa chọn xuống |
tui.select.pageUp |
pageUp |
Trang lên trong danh sách |
tui.select.pageDown |
pageDown |
Trang xuống trong danh sách |
tui.select.confirm |
enter |
Xác nhận lựa chọn |
tui.select.cancel |
escape, ctrl+c |
Hủy lựa chọn |
TUI Chế độ xem toàn màn hình
Những hành động này áp dụng khi chế độ tương tác sử dụng --tui-mode fullscreen và nhắm mục tiêu vùng cuộn bản ghi chính. Bàn di chuột bằng hai ngón tay và đầu vào con lăn chuột cuộn vùng bên dưới con trỏ, quay trở lại bản ghi trên dock trình soạn thảo/trạng thái/chân trang cố định. Nhấp vào siêu liên kết OSC 8 sẽ mở siêu liên kết đó trong trình xử lý mặc định. Kéo bằng nút chuột chính sẽ chọn văn bản và sao chép nó vào khay nhớ tạm; giữ ở cạnh trên hoặc dưới của bản ghi sẽ tự động cuộn vào nội dung ngoài màn hình.
Các ràng buộc bản ghi toàn màn hình được ưu tiên hơn các ràng buộc biên tập. Do đó, các phím điều hướng mặc định chưa được sửa đổi sẽ kiểm soát bản ghi ở chế độ toàn màn hình, trong khi các biến thể ctrl của chúng tiếp tục kiểm soát trình chỉnh sửa. Bên ngoài chế độ toàn màn hình, cả hai biến thể đều điều khiển trình chỉnh sửa.
| Chìa khóa | Chế độ mặc định | Chế độ toàn màn hình |
|---|---|---|
home, end |
Biên tập viên | bảng điểm |
ctrl+home, ctrl+end |
Biên tập viên | Biên tập viên |
pageUp, pageDown |
Biên tập viên | bảng điểm |
ctrl+pageUp, ctrl+pageDown |
Biên tập viên | Biên tập viên |
Định tuyến này vẫn có thể cấu hình được thông qua các ràng buộc hành động thông thường. Ví dụ: "tui.altScreen.pageUp": "ctrl+pageUp" làm cho pageUp kiểm soát trình chỉnh sửa và ctrl+pageUp kiểm soát bản ghi ở chế độ toàn màn hình. Ràng buộc tui.altScreen.halfPageUp và tui.altScreen.halfPageDown cho các bước chép lại nhỏ hơn trong khi vẫn giữ các ràng buộc toàn trang. Cài đặt "tui.altScreen.pageUp": [] sẽ tắt hoàn toàn lối tắt chuyển biên đó. Ràng buộc người dùng thay thế các giá trị mặc định cho hành động đó.
| Id liên kết phím | Mặc định | Sự miêu tả |
|---|---|---|
tui.altScreen.pageUp |
pageUp |
Cuộn bản ghi lên một trang |
tui.altScreen.pageDown |
pageDown |
Cuộn bản ghi xuống một trang |
tui.altScreen.halfPageUp |
(không có) | Cuộn bản ghi lên nửa trang |
tui.altScreen.halfPageDown |
(không có) | Cuộn bản ghi xuống nửa trang |
tui.altScreen.previousPrompt |
ctrl+shift+up |
Chuyển đến tin nhắn được đánh dấu trước đó |
tui.altScreen.nextPrompt |
ctrl+shift+down |
Chuyển tới tin nhắn được đánh dấu tiếp theo |
tui.altScreen.top |
home |
Cuộn đến đầu bản ghi |
tui.altScreen.bottom |
end |
Cuộn đến cuối bản ghi và theo dõi đầu ra mới |
Ứng dụng
| Id liên kết phím | Mặc định | Sự miêu tả |
|---|---|---|
app.interrupt |
escape |
Hủy/hủy bỏ |
app.clear |
ctrl+c |
Xóa trình chỉnh sửa (đầu tiên) / thoát (thứ hai) |
app.exit |
ctrl+d |
Thoát (khi trình soạn thảo trống) |
app.suspend |
ctrl+z (không có trên Windows) |
Tạm dừng ở chế độ nền |
app.editor.external |
ctrl+g |
Mở bằng trình chỉnh sửa bên ngoài (externalEditor, $VISUAL, $EDITOR, Notepad trên Windows hoặc nano ở nơi khác) |
app.clipboard.pasteImage |
ctrl+v (alt+v trên Windows) |
Dán hình ảnh hoặc văn bản từ clipboard |
Phiên
| Id liên kết phím | Mặc định | Sự miêu tả |
|---|---|---|
app.session.new |
(không có) | Bắt đầu phiên mới (/new) |
app.session.tree |
(không có) | Mở trình điều hướng session tree (/tree) |
app.session.fork |
(không có) | Phiên hiện tại phân nhánh (/fork) |
app.session.resume |
(không có) | Bộ chọn sơ yếu lý lịch phiên mở (/resume) |
app.session.togglePath |
ctrl+p |
Chuyển đổi hiển thị đường dẫn |
app.session.toggleSort |
ctrl+s |
Chuyển đổi chế độ sắp xếp |
app.session.toggleNamedFilter |
ctrl+n |
Chuyển đổi bộ lọc chỉ có tên |
app.session.rename |
ctrl+r |
Đổi tên phiên |
app.session.delete |
ctrl+d |
Xóa phiên |
app.session.deleteNoninvasive |
ctrl+backspace |
Xóa phiên khi truy vấn trống |
Models và Suy nghĩ
| Id liên kết phím | Mặc định | Sự miêu tả |
|---|---|---|
app.model.select |
ctrl+l |
Mở bộ chọn mô hình |
app.model.cycleForward |
ctrl+p |
Chuyển sang mô hình tiếp theo |
app.model.cycleBackward |
shift+ctrl+p |
Chuyển sang mô hình trước đó |
app.thinking.cycle |
shift+tab |
Mức độ tư duy chu kỳ |
app.thinking.toggle |
ctrl+t |
Thu gọn hoặc mở rộng các khối tư duy |
Hàng đợi hiển thị và tin nhắn
| Id liên kết phím | Mặc định | Sự miêu tả |
|---|---|---|
app.tools.expand |
ctrl+o |
Thu gọn hoặc mở rộng đầu ra công cụ |
app.message.copy |
ctrl+x |
Sao chép tin nhắn trợ lý cuối cùng hoặc tin nhắn đã chọn trong /tree |
app.message.followUp |
alt+enter |
Tin nhắn theo dõi hàng đợi |
app.message.dequeue |
alt+up |
Khôi phục tin nhắn được xếp hàng đợi vào trình chỉnh sửa |
Điều hướng cây
| Id liên kết phím | Mặc định | Sự miêu tả |
|---|---|---|
app.tree.foldOrUp |
ctrl+left, alt+left |
Gấp đoạn nhánh hiện tại hoặc nhảy về phần bắt đầu của đoạn trước đó |
app.tree.unfoldOrDown |
ctrl+right, alt+right |
Mở rộng đoạn nhánh hiện tại hoặc chuyển sang đoạn bắt đầu hoặc kết thúc nhánh tiếp theo |
app.tree.editLabel |
shift+l |
Chỉnh sửa nhãn trên nút cây đã chọn |
app.tree.toggleLabelTimestamp |
shift+t |
Chuyển đổi dấu thời gian của nhãn trong cây |
app.tree.filter.default |
ctrl+d |
Đặt bộ lọc cây thành chế độ xem mặc định |
app.tree.filter.noTools |
ctrl+t |
Chuyển đổi bộ lọc cây ẩn kết quả công cụ |
app.tree.filter.userOnly |
ctrl+u |
Chuyển đổi bộ lọc cây chỉ hiển thị tin nhắn của người dùng |
app.tree.filter.labeledOnly |
ctrl+l |
Chuyển đổi bộ lọc cây chỉ hiển thị các mục được gắn nhãn |
app.tree.filter.all |
ctrl+a |
Chuyển đổi bộ lọc cây hiển thị tất cả các mục |
app.tree.filter.cycleForward |
ctrl+o |
Lọc cây tuần hoàn về phía trước |
app.tree.filter.cycleBackward |
shift+ctrl+o |
Lọc cây tuần hoàn ngược |
Bộ chọn phạm vi Models
Được sử dụng bên trong bộ chọn mô hình có phạm vi (được mở qua /scoped-models).
| Id liên kết phím | Mặc định | Sự miêu tả |
|---|---|---|
app.models.save |
ctrl+s |
Lưu lựa chọn mô hình hiện tại vào cài đặt |
app.models.enableAll |
ctrl+a |
Kích hoạt tất cả các mô hình (hoặc tất cả phù hợp với tìm kiếm hiện tại) |
app.models.clearAll |
ctrl+x |
Xóa tất cả các mô hình (hoặc tất cả phù hợp với tìm kiếm hiện tại) |
app.models.toggleProvider |
ctrl+p |
Chuyển đổi tất cả các mô hình cho nhà cung cấp hiện tại |
app.models.reorderUp |
alt+up |
Di chuyển mô hình đã chọn lên theo thứ tự chu kỳ |
app.models.reorderDown |
alt+down |
Di chuyển mô hình đã chọn xuống theo thứ tự chu kỳ |
Cấu hình tùy chỉnh
Tạo ~/.pi/agent/keybindings.json:
{
"tui.editor.historyPrevious": "ctrl+p",
"tui.editor.historyNext": "ctrl+n",
"tui.editor.deleteWordBackward": ["ctrl+w", "alt+backspace"]
}Mỗi hành động có thể có một phím duy nhất hoặc một mảng phím. Cấu hình người dùng ghi đè mặc định.
Trên Windows gốc, app.suspend không có ràng buộc mặc định vì thiết bị đầu cuối Windows không hỗ trợ kiểm soát công việc Unix. Nếu bạn liên kết nó theo cách thủ công, pi sẽ hiển thị thông báo trạng thái thay vì tạm dừng. Trong WSL, hành vi ctrl+z/fg bình thường của Linux vẫn được áp dụng.
Ví dụ về Emac
{
"tui.editor.historyPrevious": "ctrl+p",
"tui.editor.historyNext": "ctrl+n",
"tui.editor.cursorLeft": ["left", "ctrl+b"],
"tui.editor.cursorRight": ["right", "ctrl+f"],
"tui.editor.cursorWordLeft": ["alt+left", "alt+b"],
"tui.editor.cursorWordRight": ["alt+right", "alt+f"],
"tui.editor.deleteCharForward": ["delete", "ctrl+d"],
"tui.editor.deleteCharBackward": ["backspace", "ctrl+h"],
"tui.input.newLine": ["shift+enter", "ctrl+j"]
}Ví dụ Vim
{
"tui.editor.cursorUp": ["up", "alt+k"],
"tui.editor.cursorDown": ["down", "alt+j"],
"tui.editor.cursorLeft": ["left", "alt+h"],
"tui.editor.cursorRight": ["right", "alt+l"],
"tui.editor.cursorWordLeft": ["alt+left", "alt+b"],
"tui.editor.cursorWordRight": ["alt+right", "alt+w"]
}