2012-02-05 38 views
10

Tôi hiện đang khôi phục gần như tất cả các ràng buộc Emacs của mình để vừa với bố cục bàn phím mới, bépo, tương đương với tiếng Pháp dvorak.Ánh xạ các phím chết như "^"

Tôi gặp sự cố khi ánh xạ khóa ^ của mình. Phím ^ là khóa chết nhưng không phải ở cấp độ vật liệu.

Tôi muốn có thể lập bản đồ C-^ nhưng hiện tại, nó không hoạt động. Bởi vì "dead-circumflex" và "circumflex" là hai khóa khác nhau.

Nếu tôi làm:

(global-set-key "C-^" 'next-line) 

Sau đó, nhấn phím điều khiển bằng "^" chìa khóa nào sau đây:

<C-dead-circumflex> is undefined 

Chúng tôi có bằng chứng emacs thấy người chết-circumflex. Nhưng tôi vẫn không thể quản lý bản đồ được.

Tôi biết rằng tôi có thể làm

(global-set-key "^" 'next-line) 

, và rằng nó sẽ làm việc bằng cách nhấn ^ hai lần, nhưng nó không phải là cách giải quyết tôi đang tìm kiếm.

+0

Bạn đang sử dụng hệ điều hành và GUI nào? (ví dụ: Windows 7, OSX/Aqua, FreeBSD/KDE,…) – Gilles

+0

Tôi đang sử dụng Linux Mint 11, với gnome 2. Tôi sử dụng Emacs 23.2.1. –

Trả lời

2

Thông báo lỗi cho bạn biết tên Emacs nào sử dụng cho khóa. Bạn có thể chuyển chuỗi đó tới hàm kbd để liên kết nó.

(global-set-key (kbd "<C-dead-circumflex>") 'next-line) 
+0

Nhưng bạn phải tự tìm và liên kết từng khóa chết theo cách đó. Lars 'giải pháp đặt tất cả mọi thứ tự động trong một dòng. –

3

tôi chỉ có lỗi gây phiền nhiễu như nhau, nhưng chỉ khi sử dụng emacs GUI, không phải từ nhà ga. Vấn đề với giải pháp được đề xuất là^không phải là ký tự duy nhất không hoạt động. Đối với tôi nó cũng ít nhất là `và '.

Từ chủ đề này: https://bugzilla.redhat.com/show_bug.cgi?id=918740 Tôi thấy rằng việc thay đổi XMODIFIERS từ "@ im = ibus" thành "" đã giải quyết được vấn đề. Trong khi tìm kiếm nơi XMODIFIERS nơi tập tôi stubled qua vấn đề sau đây: https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/1125944 Nó chỉ ra rằng bằng cách loại bỏ ~/.config/IBUS/xe buýt mà giải quyết được vấn đề mà còn giải quyết được vấn đề này trong emacs với các phím chết

rm -rf ~/.config/ibus/bus 
3

Add sau đây để ~/.emacs của bạn:

(require 'iso-transl) 

này sẽ chăm sóc của vấn đề với không xác định dead keys.

+0

điều này đã làm cho tôi, cảm ơn! (đây là với Emacs 24.5.1 trên Ubuntu 16.04, nơi tôi không có quyền quản trị) – jfbu

Các vấn đề liên quan