กุญแจที่ตายแล้วใน emacs กับ ibus


13

ฉันได้รับการอัพเกรดเพียง 13.10 และพบว่ากุญแจตายไม่ได้ทำงานอีกต่อไปใน emacs (การกดแป้นพิมพ์ที่จะ 'นำไปสู่ emacs เพื่อแสดง<dead-acute> is undefinedแทนที่จะรอคีย์ต่อไป. นอกจากนี้การใช้งานของโอกาสในการขายที่สำคัญการเขียนไป<Multi_key> is undefinedและมันเป็นไปไม่ได้ ใช้การโยงคีย์เช่น<M-^>แอปพลิเคชันอื่น ๆ ทำงานได้ดีเท่าที่ฉันสามารถบอกได้

ค้นหาสั้น ๆ บนอินเทอร์เน็ตแนะนำให้ไป(require 'iso-transl) .emacsสิ่งนี้จะแก้ไขปัญหาแรก แต่ไม่ใช่ประเด็นอื่น

วิธีแก้ปัญหาที่เป็นไปได้อีกประการหนึ่งที่เห็นบนเว็บคือการเปิดตัว emacs ด้วยXMODIFIERSตัวแปรว่างเปล่าXMODIFIERS='' emacsแทนXMODIFIERS= @im=ibusซึ่งดูเหมือนจะเป็นค่าเริ่มต้นใน 13.10 จากนั้นทุกอย่างก็ใช้งานได้ดี แต่ดูเหมือนว่ามันจะเป็นกระบอง มีวิธีที่จะทำให้ emacs ทำงานร่วมกับ ibus ในเรื่องนี้หรือไม่?

ปรับปรุง: ฉันสังเกตเห็นพฤติกรรมเดียวกันใน 14.04

อัปเดต:เนื้อหา.dmrcที่ถูกถามถึงในความคิดเห็น:

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

ชื่อที่ถูกต้องของแพ็กเกจคือiso-transl(สังเกตเส้นประ)
Lars Haugseth

@ LarsHaugseth ด่างดีขอบคุณ ฉันแก้ไขคำถามแล้ว
Virgile

ฉันใช้ emacs กับ AltGr Dead keys และใช้งานได้ดี
Charo

คุณมี emacs รุ่นใด?
Charo

@Charo GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK + เวอร์ชั่น 3.10.7) ปี 2014-03-07 บน lamiak ดัดแปลงโดย Debian ฉันยังคงมีปัญหานี้ใน 14.04 ฉันจะอัปเดตคำถามตาม
Virgile

คำตอบ:


2

นี่คือสิ่งที่คุณสามารถลองได้

แก้ไขไฟล์ ~ / .dmrc และตรวจสอบให้แน่ใจว่าตั้งค่าบรรทัดเหล่านี้ไว้ที่:

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

แก้ไขไฟล์~/.emacsและเพิ่มบรรทัดเหล่านี้แทน (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)

คุณจะต้องมีการเพิ่มเส้นคล้ายกับคนสุดท้ายถ้าคุณใช้แป้นตายกับโหมดอื่น ๆ ใน emacs (เช่นlatex-mode, tex-mode, html-mode... )

ออกจากระบบแล้วลงชื่อเข้าใช้อีกครั้ง

แม้ว่ามันจะเกิดขึ้นกับคุณว่ากุญแจที่ตายแล้วไม่ทำงานภายใน emacs ลองพิมพ์C-\และดูว่ามันทำงานได้หรือไม่

ปรับปรุง:

หากไม่ได้ผลสิ่งเดียวที่อยู่ในใจของฉันคือคุณกำหนดรูปแบบแป้นพิมพ์สองรูปแบบในการตั้งค่าระบบของคุณ

  • กุญแจล็อคแบบสากลของสหรัฐอเมริกาอังกฤษ (ที่คุณมี)
  • ภาษาอังกฤษสหรัฐอเมริกา

และเพิ่มตัวเลือกเค้าโครงแป้นพิมพ์ตามที่อธิบายไว้ที่นี่:

วิธีสลับชุดภาษาแป้นพิมพ์?

เมื่อคุณทำงานกับ emacs ให้เลือกเลย์เอาต์ "English US" หากคุณเพิ่ม.emacsบรรทัดที่ฉันพูดถึงไปแล้วในไฟล์ของคุณสิ่งนี้จะบังคับให้แป้นพิมพ์ของคุณทำงานเป็น "แป้นแป้นตาย" ภายใน emacs ฉันรู้ว่ามันน่ารำคาญ แต่มันเป็นทางออกเดียวสำหรับปัญหาของคุณที่อยู่ในใจของฉัน


ฉันเพิ่มบรรทัดที่เป็นปัญหาแล้ว แต่สิ่งนี้ไม่เปลี่ยนแปลงอะไรเลย ไม่เป็น C-` ขอบคุณสำหรับคำแนะนำต่อไป
Virgile

ลองเปลี่ยนบางบรรทัดในไฟล์ ~ / .dmrc ตามที่ระบุในคำตอบของฉัน
Charo

แต่นี่ไม่ได้หมายความว่าภาษาของฉันจะเป็นภาษาอังกฤษ?
Virgile

@Virgile: แต่มาดูกันว่าปัญหาหายไปไหม หลังจากลองแล้วคุณสามารถกลับมาที่สถานที่ฝรั่งเศสได้โดยแก้ไขไฟล์ ~ / .dmrc อีกครั้ง ฉันได้อ่านที่นี่
Charo

@Virgile: ดู "อัปเดต" กับคำตอบของฉัน
Charo
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.