Tôi muốn các phím và tổ hợp phím nhất định hoạt động như các phím hoặc tổ hợp phím khác trong Emacs. Ví dụ, tôi muốn F5 cư xử như một sự thay thế cho C-c cho mỗi sự kết hợp có thể liên quan đến nó, hoặc C-S như C-. Có thể làm điều đó mà không cần phải tự rebinding tất cả các tổ hợp phím như vậy?Làm cho phím hoạt động như một phím khác
Trả lời
Các khóa bạn đang đề cập đến được gọi là 'các phím tiền tố'. Một khóa tiền tố có sơ đồ bàn phím riêng của nó, do đó, để làm cho một phím khác hoạt động giống nhau, bạn cần gán nó cho cùng một sơ đồ bàn phím. Để kiểm soát-c, bạn sử dụng mode-specific-map
: Kiểm soát
(global-set-key (kbd "<f5>") mode-specific-map)
ngày của riêng mình không phải là một chính tiền tố, hoặc thực sự là một chìa khóa ở tất cả, vì nó không gửi một phím nhấn để Emacs [1] cho đến khi bạn nhấn phím khác. Tôi không chắc chắn làm thế nào để remap C-S- để C- trong Emacs. Bạn có thể làm toàn bộ hệ thống với xmodmap, nhưng đó có thể không phải là thứ bạn muốn.
[1] phím điều khiển (và thay đổi, alt) làm gửi một phím nhấn cho hệ điều hành, nhưng Emacs không 'nhìn thấy' này, trừ khi có một phím bấm đồng thời
tôi thích
(define-key key-translation-map [f5] (kbd "\C-c"))
Đây là good resource.
Để tóm tắt liên kết được đưa ra ở trên: Điểm bất lợi của khóa toàn cầu là khi bạn xác định tổ hợp phím để nhập ký hiệu, nó không hoạt động trong isearch.
khóa-dịch-bản đồ cũng có sự cố. Hãy tưởng tượng bạn đã xác định một biểu tượng | để thực hiện lệnh và C- | để nhập biểu tượng |, nhấn C- | sẽ thực hiện lệnh.
- 1. Phím dấu phẩy Vim không hoạt động
- 2. Ẩn bàn phím mềm không hoạt động
- 3. Bàn phím mềm Android không hoạt động
- 4. jQuery lên phím/xuống phím phát hiện phím không hoạt động?
- 5. .vimrc ánh xạ cho phím điều khiển không hoạt động
- 6. Phím tắt trong Xcode ngừng hoạt động
- 7. Phím tắt QAction không luôn hoạt động
- 8. Kích hoạt sự kiện nhấn phím bàn phím mà không cần nhấn phím từ bàn phím
- 9. Bắt đầu hoạt động khi một phím được nhấn
- 10. Phím bàn phím không hoạt động trong chrome.app khi ở chế độ toàn màn hình
- 11. Tại sao bàn phím ảo không hoạt động?
- 12. Ẩn bàn phím ảo hoạt động mà không cần bất kỳ thao tác bàn phím
- 13. VS2010 CTRL + M phím tắt đã ngừng hoạt động
- 14. Phím tắt ngắt phím AutoHotKey
- 15. Làm thế nào để chuyển đổi một phím nhập Nhấn vào một phím Tab Bấm cho các trang web
- 16. Nhận Trình ghi phím tắt hoạt động trong Xcode 4
- 17. onKeyListener không hoạt động trên bàn phím ảo
- 18. Ánh xạ các phím chết như "^"
- 19. kiểu màn hình khi bàn phím ảo đang hoạt động
- 20. phím shift chỉ bị bỏ qua sau khi một phím khác đã bị khóa, phím shift kém. Làm thế nào để phát hiện khi nó được phát hành?
- 21. Bàn phím Android. Phím nền
- 22. Android - Nhận bấm phím trên bàn phím
- 23. Phím nóng Eclipse không hoạt động trong XFCE
- 24. Trên linux, tôi có thể nhận các phím để hoạt động khác nếu khai thác không?
- 25. TextField trở thànhPhát hành FirstResponder cho hành động bàn phím (Bàn phím)
- 26. phím mũi tên không hoạt động trong sqlplus
- 27. Cách ẩn Bàn phím mềm khi hoạt động bắt đầu
- 28. phím gỡ lỗi nhật thực không hoạt động
- 29. Phím xóa lùi không hoạt động ở Vim/vi
- 30. Làm cho một hình ảnh hoạt động như một nút
+1 nhưng ... * "Kiểm soát trên chính nó không phải là một phím tiền tố, hoặc thực sự là một chìa khóa ở tất cả, vì nó không gửi một phím" * ... Điều khiển chắc chắn không gửi một phím bấm của chính nó . Bạn có thể sử dụng, nói, * xev * trong Linux để thấy điều đó. Nó sẽ gửi cả hai nhấn phím khi bạn nhấn nó và một keyrelease khi bạn phát hành nó. Đầu ra A * xev * cho CTRL trên hệ thống của tôi cho: * Sự kiện KeyPress eventKeyPress ... trạng thái 0x14, mã phím 37 (keysym 0xffe3, Control_L) ... * v.v. Tôi tranh chấp rằng bạn đã viết điều khiển đó không phải là "thực sự là một then chốt ở tất cả ". Bàn phím CTRL và CAPS-LOCK của tôi được ánh xạ lại để hoạt động như CTRL thực hiện hành vi phạm tội;) – TacticalCoder
@TacticalCoder: Điểm công bằng, theo như X là có liên quan. Nhưng tôi không nghĩ rằng các phím bấm đăng ký bởi X có thể nhìn thấy Emacs ngày của riêng mình. Không có cách nào để Emacs phát hiện hoặc trả lời một phím bổ trợ nếu nó không sửa đổi một khóa khác. Vì vậy, từ quan điểm của Emacs, CTRL ngày của riêng mình không phải là chìa khóa cho đến khi nó được kết hợp với một khóa khác. – Tyler