Thông thường, vì lý do lịch sử, emacs đối xử với TABmã C-ikhóa và khóa là như nhau, xem tài liệu không thể thiếu của emacs về các phím chức năng hoặc câu trả lời của abo-abo cho câu hỏi "Sự khác biệt giữa TAB và?" .
Chú ý: Trong bài này, mã phím là
TAB,<tab>vàC-i; tabvà Ctrl+ imặt khác là các phím vật lý trên bàn phím.Tuy nhiên, tại thời điểm này, emacs đối xử với
TABvàC-inhư điều tương tự, tức là(equal (kbd "TAB") (kbd "C-i"))->t.
Tuy nhiên, vì chúng ta không còn sống trong sự kỳ quặc của máy tính, tôi thấy điều này vô cùng khó chịu. Có một vài gợi ý ngoài kia những gì có thể được thực hiện để giải quyết vấn đề này, vd
"Làm cách nào để liên kết một lệnh với Ci mà không thay đổi TAB?"
- Giải pháp của Trey không hoạt động với tôi, biến
local-function-key-mapskhông thay đổi. Sửa đổi nó để sử dụngdeletethay vìdelqdẫn đến một biến đã được sửa đổi nhưng nó không mang lại giải pháp ... tabvà Ctrl+ ivẫn như vậy. - Dịch sang siêu bản đồ có vẻ như một cách giải quyết của những năm 1980 ... Tôi cũng có thể muốn sử dụng Hyper+ i.
- Giải pháp của Trey không hoạt động với tôi, biến
Sử dụng
input-decode-mapđể ánh xạ Ctrl+ itới một số mã kiểm soát sau ASCII gần như là điều tôi đang tìm kiếm. Ngoại trừ việc nó không hoạt động đúng vớikbdý nghĩa vĩ mô là người ta phải sửa đổi tất cả các bit của mã nguồn sẽ liên kết Ctrl+ i. Có thể cho rằng đây là giải pháp tốt nhất cho rằng tất cả các mã nguồn được sửa đổi đúng.Sử dụng
(kbd "<tab>")for tabvà(kbd "C-i")((kbd "TAB")nghĩa là\tnghĩa đen) cho Ctrl+ i không hoạt động nhưng bạn phải sửa đổi tất cả các tệp nguồn sử dụng sai loại tab[Đọc: mã khóaTAB] gây khó chịu.
Điều này đã được đề xuất, ví dụ như trong một vấn đề github và trên emacs.sx .
Không có giải pháp nào trong số các giải pháp này có vẻ là giải pháp thực sự, tôi muốn xem xét chúng là cách giải quyết hoặc hack (của lỗi hiện tại ).
Có cách nào để buộc emacs ánh xạ tabtới
(kbd "<tab>")và(kbd "TAB")trong khi Ctrl+ iđược ánh xạ tới mức(kbd "C-i")thiếu modyfing mã nguồn của emacs không?Cách tiếp cận này phải hoàn toàn vô hình với người dùng, nghĩa là các tabmã khóa giống như
<tab>vàTABnên ánh xạ tới một ràng buộc trong khi mã khóa Ctrl+ igiống nhưC-iánh xạ tới một ràng buộc khác.
Trên một lưu ý ít nghiêm trọng hơn: Bất kỳ nhà phát triển emacs nào ở đây có thể nhận xét liệu điều này sẽ được thay đổi / sửa trong mã nguồn emacs tại một số điểm?
kbddịch TAB dưới dạng [tab]. Nó chỉ không hoạt động cho các phần được tải sẵn của Emacs.
TABvàC-i(các mã, không phải các khóa) là một và giống nhau theo định nghĩa củaTAB.