Phím ánh xạ trong iterm2


15

Tôi đang cố gắng ánh xạ lại một số tổ hợp phím mặc định trong iTerm2 và muốn hiểu điều gì đang xảy ra khi tôi liên kết các khóa với "Gửi mã Hex".

Một bài đăng trước đã giúp tôi bắt đầu với việc ánh xạ lại các tổ hợp phím ctrl-a và ctrl-e thành cmd-left và cmd-right, nhưng tôi cũng muốn sắp xếp lại các combo chính khác. ( Liên kết đến bài viết Stackoverflow trước đó ).

Tôi có một sự hiểu biết mơ hồ rằng có các mã hex liên quan, nhưng tôi đang ở một điểm mà tôi không thể tìm ra nơi nào tiếp theo để hiểu những gì đang xảy ra hoặc phải làm gì.


Không có gì để làm với bash. Đã xóa thẻ.

Câu trả lời:


16

Các mã hex này chỉ là chuỗi byte. Ví dụ, ánh xạ một tổ hợp phím để 0x66 0x6f 0x6flàm cho nó chèn foo. 0xc3 0xa4sẽ chèn ä nếu bạn sử dụng UTF-8. 0x1b 0x1b 0x5b 0x43có nghĩa là escape escape [ C.

Một số chuỗi byte như chuỗi thoát ANSI và thậm chí các byte đơn như ký tự điều khiển ASCII có ý nghĩa đặc biệt trong các thiết bị đầu cuối.

Để thực hiện ⌘ ← và ⌘ → đi đến đầu và cuối dòng, bạn có thể gán chúng cho 0x01 (^ A trong ký hiệu dấu mũ) và 0x05 (^ E trong ký hiệu dấu mũ):

  • ⌘ ←: Gửi mã Hex: 0x01
  • ⌘ →: Gửi mã Hex: 0x05

Bạn có thể thực hiện ⌥⌦ xóa một từ chuyển tiếp bằng cách gán nó cho \ed:

  • : Gửi ^ [d

Thay đổi ⌥ ← và ⌥ → thành \eb\eftrong các tùy chọn của iTerm cũng sẽ thay đổi chúng trong các chương trình không hỗ trợ các phím bấm kiểu đọc hoặc kiểu emacs. Một tùy chọn khác là thêm cái này vào ~ / .inputrc :

"\e\e[D": backward-word
"\e\e[C": forward-word

Bạn có thể chạy readvà nhấn tổ hợp phím để xem họ chèn ký tự nào. Ví dụ ⌥ ← chèn ^[^[[Dtheo mặc định, nơi ^[thoát trong ký hiệu dấu mũ .

Xem thêm http://code.google.com.vn/p/iterm2/wiki/Keybindings .


Cảm ơn. Tôi gặp phải câu trả lời này khi tìm kiếm một giải pháp cho câu hỏi của tôi ở đây . Làm cách nào tôi có thể tra cứu mã hex cho một tổ hợp phím cụ thể? (trong trường hợp của tôi, tôi đang quan tâm đến những sự kết hợp Ctrl+Alt+<char>với <char>việc i, j, k, lu)
Amelio Vazquez-Reina

6

Tôi khuyên bạn nên cài đặt Mã khóa ($ 0) cho nhiều Thủ thuật và tự mình tìm ra các phím tắt.

Chẳng hạn, nếu bạn muốn ánh xạ lại lối tắt mặc định để (chuyển tiếp) xóa một charcter - đó là Ctrl-D ( ⌃D) - đơn giản như nhấn phím xóa chuyển tiếp ( ), bạn sẽ Trỏ

  1. Mở ứng dụng và nhấn Ctrl-D

    Ví dụ về mã khóa

  2. Quay lại iTerm 2, thêm phím tắt Unicode trong iTerm> Preferences> Keys

    iTerm Gửi mã Hex

Lưu ý: Không sao chép và dán nó, chỉ cần gõ Unicode mà không có khoảng trắng.


2

Cách tốt nhất mà tôi tìm thấy là gửi mã khóa (như được mô tả bởi @pattulus hoặc sử dụng các ràng buộc khóa vim.

Lưu ý về mã khóa: Trên thực tế, bạn không thể làm cho nó hoạt động bằng cách gửi chuỗi unicode như được mô tả ở trên, bạn cần gửi cả bộ sửa đổi và khóa để nhận trong trường hợp Control+ Dbạn cần gửi mã này dưới dạng mã: 0x840101 0x4nơi 0x840101sửa đổi khóa điều khiển và có thể được lấy thông qua Mã khóa .

Lưu ý khi gửi theo chuỗi vim : Như được mô tả trong tài liệu iTerm2 , bạn có thể gửi mã khóa ở định dạng vim-ràng buộc, chẳng hạn như \<C-d>để gửi Control+ D(lưu ý \là quan trọng).

Cá nhân tôi thích ràng buộc khóa vim vì nó dễ đọc hơn và sau này bạn sẽ hiểu những gì bạn đã làm.


1

Kiểm tra Karabiner .

Trong công cụ này, bạn có thể tạo các ánh xạ tùy chỉnh chính dành riêng cho các ứng dụng. Nó đi kèm với một số công cụ để giúp với điều đó.

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.