Kunci mati di emacs dengan ibus

13

Saya baru saja memutakhirkan ke 13.10 dan memperhatikan bahwa kunci mati tidak berfungsi lagi di emacs (penekanan tombol pada 'lead emacs untuk ditampilkan <dead-acute> is undefinedalih-alih menunggu ke tombol berikutnya. Selain itu, penggunaan kunci penulisan mengarah ke <Multi_key> is undefineddan tidak mungkin untuk gunakan keybindings seperti <M-^>. Aplikasi lain berfungsi dengan baik sejauh yang saya tahu.

Sebuah pencarian singkat di internet disarankan untuk (require 'iso-transl)ke .emacs. Ini memecahkan masalah pertama, tetapi bukan yang lain.

Solusi lain yang mungkin terlihat di web adalah meluncurkan emacs dengan XMODIFIERSvariabel kosong , karena XMODIFIERS='' emacs, alih-alih XMODIFIERS= @im=ibusyang tampaknya menjadi default di 13.10. Kemudian semuanya berfungsi dengan baik, tapi itu terlihat seperti lumpur. Apakah ada cara untuk membuat emacs bekerja dengan ibus tentang hal ini?

Pembaruan: Saya mengamati perilaku yang sama dalam 14,04.

Pembaruan: konten .dmrcseperti yang diminta dalam komentar:

[Desktop]
Session=xubuntu
Language=fr_FR
Layout=us       intl
Langlist=fr_FR:en
LCMess=fr_FR.UTF-8
Virgile
sumber
Nama paket yang benar adalah iso-transl(perhatikan tanda hubung.)
Lars Haugseth
@ LarsHaugseth terlihat dengan baik, terima kasih. Saya telah mengedit pertanyaan sesuai.
Virgile
Saya menggunakan emacs dengan tombol AltGr Dead dan berfungsi dengan baik.
Charo
Versi emacs apa yang Anda miliki?
Charo
@Charo GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK + Versi 3.10.7) dari 2014-03-07 tentang lamiak, dimodifikasi oleh Debian. Saya masih memiliki masalah ini dalam 14,04, saya akan memperbarui pertanyaan yang sesuai
Virgile

Jawaban:

2

Inilah beberapa hal yang dapat Anda coba.

Edit file ~ / .dmrc dan pastikan untuk menetapkan baris ini di atasnya:

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

Edit file ~/.emacsdan tambahkan baris-baris ini sebagai ganti (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)

Anda harus menambahkan garis mirip dengan yang terakhir jika Anda menggunakan kunci mati dengan moda lain di emacs (misalnya, latex-mode, tex-mode, html-mode...).

Keluar lalu masuk lagi.

Meski begitu, jika itu pernah terjadi pada Anda bahwa kunci mati tidak berfungsi dalam emacs, cobalah untuk mengetik C-\dan melihat apakah kunci itu berfungsi.

Memperbarui:

Jika itu tidak berhasil, satu-satunya hal yang terlintas di pikiran saya, adalah Anda mendefinisikan dua tata letak keyboard di pengaturan sistem Anda

  • Kunci mati internasional AS AS (salah satu yang Anda miliki)
  • Inggris AS

dan tambahkan pemilih tata letak keyboard dengan cara yang dijelaskan di sini:

Bagaimana cara beralih kombinasi keyboard bahasa?

Saat Anda bekerja dengan emacs, pilih tata letak "Bahasa Inggris AS". Jika Anda telah menambahkan ke .emacsfile Anda baris yang saya sebutkan di atas, ini akan memaksa keyboard Anda untuk berperilaku sebagai "keyboard tombol mati" di dalam emacs. Saya tahu ini bisa mengganggu, tetapi itu satu-satunya solusi untuk masalah Anda yang muncul di pikiran saya.

Charo
sumber
Saya telah menambahkan baris yang dipermasalahkan, tetapi ini tidak mengubah apa pun. `C-` juga tidak. Terima kasih atas sarannya.
Virgile
Cobalah untuk mengubah beberapa baris dalam file ~ / .dmrc Anda seperti yang ditunjukkan dalam jawaban saya.
Charo
Tetapi bukankah ini berarti bahasa sesi saya adalah bahasa Inggris?
Virgile
@Virgile: Tapi mari kita lihat apakah dengan cara itu masalahnya hilang. Setelah mencobanya, Anda selalu dapat kembali ke bahasa Prancis dengan memodifikasi file ~ / .dmrc Anda lagi. Saya sudah baca di sini .
Charo
@Virgile: Lihat "Pembaruan" untuk jawaban saya.
Charo