Khóa chết trong emacs với ibus


13

Tôi vừa mới nâng cấp lên 13.10 và nhận thấy rằng các phím chết không còn hoạt động nữa trong các emacs (một phím tắt để 'dẫn các emacs hiển thị <dead-acute> is undefinedthay vì chờ đến phím tiếp theo. Ngoài ra, việc sử dụng phím soạn thảo dẫn đến <Multi_key> is undefinedvà không thể sử dụng các phím bấm như <M-^>. Các ứng dụng khác hoạt động tốt như tôi có thể nói.

Một tìm kiếm ngắn gọn trên internet đề nghị (require 'iso-transl)để .emacs. Điều này giải quyết vấn đề đầu tiên, nhưng không phải là những vấn đề khác.

Một cách giải quyết khác có thể thấy trên web là khởi chạy các emacs với một XMODIFIERSbiến trống XMODIFIERS='' emacs, thay vào XMODIFIERS= @im=ibusđó, dường như là mặc định trong 13.10. Sau đó, mọi thứ hoạt động tốt, nhưng nó trông giống như một bùn. Có cách nào để làm cho emacs hoạt động với ibus về chủ đề này không?

Cập nhật: Tôi quan sát hành vi tương tự trong 14.04.

Cập nhật: nội dung .dmrcnhư được yêu cầu trong các ý kiến:

[Desktop]
Session=xubuntu
Language=fr_FR
Layout=us       intl
Langlist=fr_FR:en
LCMess=fr_FR.UTF-8

Tên chính xác của gói là iso-transl(lưu ý dấu gạch ngang.)
Lars Haugseth

@LarsHaugseth cũng phát hiện ra, cảm ơn. Tôi đã chỉnh sửa câu hỏi tương ứng.
Virgile

Tôi sử dụng emacs với các phím AltGr Dead và nó hoạt động tốt.
Charo

Bạn có phiên bản nào của emacs?
Charo

@Charo GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK + Phiên bản 3.10.7) của 2014/03/07 trên lamiak, được sửa đổi bởi Debian. Tôi vẫn gặp vấn đề này vào ngày 14.04, tôi sẽ cập nhật câu hỏi tương ứng
Virgile

Câu trả lời:


2

Dưới đây là những điều bạn có thể thử.

Chỉnh sửa tệp ~ / .dmrc và đảm bảo đặt các dòng này trên đó:

Language=en_US.utf8
Langlist=en_US:en
LCMess=en_US.UTF-8

Chỉnh sửa tệp ~/.emacsvà thêm các dòng này vào nó thay vì (require 'iso-transl) :

(prefer-coding-system 'utf-8)
(set-default-coding-systems 'utf-8)
(set-terminal-coding-system 'utf-8)
(set-keyboard-coding-system 'utf-8)
(setq default-input-method "latin-1-prefix")
(defun my-set-default-input-method ()
  (set-input-method 'latin-1-prefix))
(add-hook 'text-mode-hook 'my-set-default-input-method)

Bạn sẽ có thêm dòng tương tự như người cuối cùng nếu bạn sử dụng các phím chết với chế độ khác trong emacs (ví dụ latex-mode, tex-mode, html-mode...).

Đăng xuất và sau đó đăng nhập lại.

Mặc dù vậy, nếu điều đó xảy ra với bạn rằng các phím chết không hoạt động trong các emacs, hãy thử gõ C-\và xem chúng có hoạt động không.

Cập nhật:

Nếu điều đó không hiệu quả, điều duy nhất nảy ra trong đầu tôi là bạn xác định hai bố trí bàn phím trong cài đặt hệ thống của mình

  • Tiếng Anh Quốc tế khóa chết (cái mà bạn có)
  • Tiếng anh mỹ

và thêm một bộ chọn bố trí bàn phím theo cách được giải thích ở đây:

Làm thế nào để chuyển đổi ngôn ngữ kết hợp bàn phím?

Khi bạn làm việc với emacs, chọn bố cục "English US". Nếu bạn đã thêm vào .emacstệp của mình các dòng mà tôi đã đề cập ở trên, điều này sẽ buộc bàn phím của bạn hoạt động như một "bàn phím phím chết" trong emacs. Tôi biết điều này có thể gây phiền nhiễu, nhưng đó là giải pháp duy nhất cho vấn đề của bạn xuất hiện trong đầu tôi.


Tôi đã thêm các dòng trong câu hỏi, nhưng điều này không thay đổi bất cứ điều gì. Cả `C-`. Cảm ơn những lời đề nghị nào.
Virgile

Hãy thử thay đổi một số dòng trong tệp ~ / .dmrc của bạn như được chỉ ra trong câu trả lời của tôi.
Charo

Nhưng điều này không có nghĩa là ngôn ngữ của phiên của tôi sẽ là tiếng Anh?
Virgile

@Virgile: Nhưng hãy xem nếu theo cách đó thì vấn đề biến mất. Sau khi thử điều đó, bạn luôn có thể quay lại miền địa phương bằng cách sửa đổi tệp ~ / .dmrc của mình một lần nữa. Tôi đã đọc nó ở đây .
Charo

@Virgile: Xem phần "Cập nhật" cho câu trả lời của tôi.
Charo
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.