คำถามติดแท็ก keymap

คีย์แมปคือโครงสร้างข้อมูล Lisp ที่ระบุการโยงคีย์สำหรับลำดับคีย์ต่างๆ คีย์แมปเดียวระบุนิยามสำหรับแต่ละเหตุการณ์โดยตรง เมื่อลำดับคีย์ประกอบด้วยเหตุการณ์เดียวการเชื่อมโยงในคีย์แมปคือนิยามของคีย์แมปสำหรับเหตุการณ์นั้น

2
แปลงคีย์ปกติเป็นคีย์ตัวดัดแปลง
ฉันมีแป้นพิมพ์ซึ่งด้วยเหตุผลลึกลับบางคุณสมบัติที่สำคัญที่ส่งสัญลักษณ์ดอลลาร์เดนมาร์ก OS X เป็น §- ด้วยการเปลี่ยนแปลงก็จะส่งบวก / ลบสัญลักษณ์ ±- เป็นไปได้ไหมที่ Emacs จะเห็น§กุญแจและแปลงมันให้เป็นไฮเปอร์หรือซุปเปอร์? ดังนั้นถ้าฉัน§กดปุ่มfนั้นค้างไว้มันจะเปิดใช้งานH-fใน Emacs ฉันได้ลองสิ่งต่อไปนี้ซึ่งใช้งานไม่ได้: (define-key key-translation-map (kbd "§") (kbd "<Hyper>")) มันแค่บอกว่า<Hyper> is undefinedกดปุ่มและไม่ได้ทำหน้าที่เป็นตัวดัดแปลงเลย สิ่งนี้ยังใช้งานไม่ได้: (define-key key-translation-map (kbd "§") "<Hyper>") ที่เพิ่งเปลี่ยน§กุญแจเป็น<กุญแจ

2
จะสลับรูปแบบแป้นพิมพ์สำหรับภาษาต่าง ๆ ได้อย่างไร
ถาม:ฉันจะสลับระหว่างวิธีป้อนข้อมูลสำหรับภาษาต่างๆเมื่อใช้รูปแบบแป้นพิมพ์ที่ไม่ได้มาตรฐานได้อย่างไร ฉันต้องแก้ไขข้อความในสองภาษาที่แตกต่างกัน ฉันต้องการใช้การโยงคีย์ของฉันในสองภาษายกเว้นแน่นอนเมื่อแทรกข้อความลงในบัฟเฟอร์ ดูเหมือนว่าฉันควรจะสามารถtoggle-input-method( C-\) และเลือกภาษาอื่น จนถึงตอนนี้เกือบจะดี นี่คือการถู: ฉันใช้เค้าโครงภาษาอังกฤษ Dvorak ซึ่งฉันตั้งไว้ที่ระดับระบบปฏิบัติการ (เช่นด้วยsetxkbmap) เมื่อฉันtoggle-input-methodข้อความที่ฉันแทรกจะถูกต้องถ้าฉันมีรูปแบบ QWERTY (มาตรฐานในสหรัฐอเมริกา) แต่ออกมาซึ่งพูดพล่อยๆเพราะฉันอยู่ใน Dvorak (FWIW เมื่อฉันเปลี่ยนเลย์เอาต์ของฉันเป็น Standard US มันใช้งานได้ดี) ดังนั้น: ฉันจะแจ้งให้ Emacs ทราบได้อย่างไรว่าฉันใช้ Dvorakเพื่อให้toggle-input-methodเพื่อน ๆ แปลการกดแป้นของฉันเป็นอักขระที่ถูกต้องในภาษาอื่น ๆ ?

1
วิธีทำการแมปใหม่ของ บริษัท เลือกถัดไปและเลือกปุ่มก่อนหน้า
ฉันไม่ชอบเริ่มต้นM-nและM-pกุญแจcompany-select-nextและcompany-select-previousดังนั้นฉันถูกสงสัยว่าถ้าเป็นไปได้ที่จะทำการแมปเหล่านั้นไปC-nและC-pไม่มีผลต่อการแมปเมื่อเคล็ดลับของ บริษัท ไม่ได้ใช้งาน

4
วิธีการผูกกุญแจของคุณกับปุ่มกดที่ยังไม่ได้โหลด?
ฉันใช้use-packageเพื่อจัดการแพ็คเกจที่ติดตั้งและbind-keyกำหนดการกระทำให้กับคีย์แบบกำหนดเองที่ฉันชอบ ฉันแทนที่ที่สุดของการเริ่มต้น Emacs ปุ่มลัด (เช่นC-nกลายเป็นM-k, C-pกลายเป็นM-i) แต่ฉันตกลงกับโหมดอื่น ๆ เอาชนะโครงการปุ่มลัดของฉัน อย่างไรก็ตามในบางครั้งฉันต้องการให้ปุ่มกดยังคงอยู่ ฉันต้องการความM-kหมายอย่างอื่นมากกว่าใน Gnus หรือ Helm ที่เป็นค่าเริ่มต้น อย่างไรก็ตามพวกเขาขัดแย้งกันในการเริ่มต้นของ Emacs เพราะฉันไม่สามารถเพิ่มการเชื่อมโยงกับ keymap ได้หากไม่มีอยู่ (เพราะuse-packageบางครั้งทำให้การโหลดแพคเกจล่าช้า) เช่นคำสั่งต่อไปนี้มีข้อผิดพลาด (เช่น(void-variable helm-map)) เนื่องจาก Helm และ Gnus ยังไม่โหลดเต็มที่ (bind-key "M-Y" 'helm-end-of-buffer helm-map) (bind-key "M-k" 'helm-next-line helm-find-files-map) (bind-key "M-s" 'other-window gnus-summary-mode-map) ฉันมีuse-packageการร้องขอทั้งหมดของฉันในไฟล์เดียวและbind-keyสำหรับการผูกคีย์ที่กำหนดเองในไฟล์อื่น ฉันไม่ต้องการผูกuse-packageสายไว้เพราะบางทีฉันอาจต้องการเผยแพร่รูปแบบการผูกกุญแจที่กำหนดเองของฉันเป็นแพ็คเกจแบบสแตนด์อโลน จะทำอย่างไรถ้าฉันต้องการให้ใครบางคนติดตั้งแบบแผนของฉันมี Helm และ Gnus keybindings ในพื้นที่อยู่ด้วยหรือไม่ ฉันจะจัดการการโยงbind-keyคีย์- …

1
ฉันจะเปลี่ยนจากคีย์ 'code' กลับไปเป็นคีย์บอร์ดที่เทียบเท่าได้อย่างไร
ฉันมีเอกสารดังต่อไปนี้: mc/keymap is a variable defined in `multiple-cursors-core.el'. Its value is (keymap (67108903 . mc-hide-unmatched-lines-mode) (27 keymap (118 . mc/cycle-backward)) (22 . mc/cycle-forward) (return . multiple-cursors-mode) (7 . mc/keyboard-quit)) Documentation: Keymap while multiple cursors are active. Main goal of the keymap is to rebind C-g and <return> to conclude multiple …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.