คำถามติดแท็ก key-bindings

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

2
ใช้สองโหมดหลักแผนที่ในบัฟเฟอร์เดียวกัน
ฉันพบสถานการณ์บางอย่างที่สะดวกสบายอย่างยิ่งที่จะต้องมี keymap ของหนึ่งในโหมดหลักที่ทำหน้าที่เป็นทางเลือกหลักสำหรับทางเลือกหลักอื่น ๆ ตัวอย่างเช่น ผมเขียนจำนวนมากของน้ำยางในบางส่วนของเอกสารที่องค์กรของฉันดังนั้นมันจะดีที่จะมีคำสั่งอย่างที่มีอยู่ในขณะที่การแก้ไขlatex-mode org-mode ฉันบ่อยห้อง IRC ด้วยการสนับสนุน Markdown ดังนั้นมันก็จะดีที่จะมีmarkdown-modekeybinds erc-modeเพิ่มไปยัง ในทั้งสองกรณีคีย์แมปพิเศษนี้ควรทำหน้าที่เป็นทางเลือก (นี่คือสาเหตุที่ฉันไม่สามารถใช้โหมดรองสำหรับสิ่งนี้ได้) ฉันไม่ต้องการให้คำสั่งลาเท็กซ์แทนที่org-modeปุ่มใด ๆ สิ่งที่ฉันต้องการคือ ถ้าคีย์ถูกกำหนดในlatex-mode-mapและมันไม่ได้กำหนดไว้ใน org-mode-mapจากนั้นใช้latex-mode-mapมีผลผูกพัน ถาม:ฉันจะตั้งค่าคีย์แมปเป็นคีย์ลัดสำหรับโหมดหลักได้อย่างไร หรือ Q:จะสามารถคัดลอกคีย์จาก main-mode-map ไปยังที่อื่นได้อย่างไร เพียงเพื่อให้ชัดเจน ฉันรู้ว่าฉันสามารถกำหนดปุ่มเหล่านี้ทีละหนึ่ง แต่มันจะสะดวกกว่าอนันต์ที่จะมีทางออกอัตโนมัติ

1
กำหนดปุ่มควบคุม + Shift โดยไม่ต้อง kbd
ฉันพยายามเพิ่มฟังก์ชั่นบางอย่างให้กับแพ็คเกจของคนอื่นดังนั้นฉันจึงต้องการเคารพรูปแบบของพวกเขา kbdแต่น่าเสียดายที่หนึ่งในรูปแบบเหล่านี้คือการไม่ใช้ ฉันจำเป็นต้องผูกฟังก์ชั่นให้C-S-bแต่ฉันไม่สามารถหาวิธีได้ ฉันรู้วิธีการทำสิ่งนี้ด้วยตัวดัดแปลงเดียว (เช่น"\S-b") แต่ฉันไม่สามารถทำให้มันทำงานร่วมกับตัวดัดแปลงหลายตัวได้ ฉันรู้ว่าฉันสามารถประเมิน(kbd "C-S-b")และใช้ผลลัพธ์ของมัน ( [33554434]) แต่ฉันต้องการให้อ่านง่ายขึ้น นี่คือบางสิ่งที่ฉันได้ลอง: (define-key emacs-lisp-mode-map "\C-\S-b" 'test-command) ;;; Invalid modifier (define-key emacs-lisp-mode-map [C-S-b] 'test-command) ;;; Does nothing (define-key emacs-lisp-mode-map "\C-B" 'test-command) ;;; Binds C-b

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>") ที่เพิ่งเปลี่ยน§กุญแจเป็น<กุญแจ

4
ปัญหา“ <dead-acute> ไม่ได้กำหนด” ปรากฏขึ้นเมื่อพิมพ์กรีกความเครียด (')
ฉันเริ่มใช้ Emacs และฉันเขียนข้อความเป็นภาษากรีก ปัญหาคือความเครียดที่ใช้กับตัวอักษรบางตัว (ό, ύ, ί, ύ) ใช้งานไม่ได้! มันมักจะแทรกโดยการกดปุ่ม;(ฉันหมายถึงโดยการกดปุ่มติดกับ L) แล้วตัวอักษรตามที่จะถูกแทรก นั่นเป็นมาตรฐานสำหรับแป้นพิมพ์ภาษากรีก เมื่อฉันกด;มันพูดว่า: &lt;dead-acute&gt; is undefined. C-h c ; พูดในสิ่งเดียวกัน ฉันจะทำอย่างไรเพื่อให้สามารถใช้คีย์นี้ มันทำงานได้ในแอพพลิเคชั่นอื่นเช่นเบราว์เซอร์ ฉันใช้ Ubuntu 14.04 และฉันติดตั้งemacsแพ็คเกจ (Emacs 24.3.1)

4
Org-Mode: วิธีสร้างการเชื่อมโยงปุ่ม "โหมด org"
ฉันรู้ว่าฉันสามารถใช้*bold*, /italic/, _underline_, =verbatim=, ~code~และ+strike-through+จะมีผลบังคับใช้มาร์กอัปกับข้อความorg-modeใน แต่ฉันจะสร้างการเชื่อมโยงที่สำคัญสำหรับการใช้การเปลี่ยนแปลงเหล่านี้กับพื้นที่ของข้อความได้อย่างไร ตัวอย่างเช่นหากฉันต้องการทำให้ข้อความเป็นตัวหนาจะมีวิธีที่ง่ายกว่า การนำทางไปด้านหน้าของข้อความ นำหน้าด้วย a * การนำทางไปยังจุดสิ้นสุดของข้อความ ต่อท้าย*? ฉันไม่สามารถดูเหมือนจะหาคำสั่งใด ๆ ที่ "bolds" org-make-region-boldยืดของข้อความเช่น มีคำสั่งดังกล่าวหรือไม่?

1
ลดเวลาจนกระทั่ง“ Cx-” แสดงขึ้นในพื้นที่เสียงสะท้อนหลังจากกดปุ่ม
เมื่อฉันพยายามป้อนคำสั่งผ่านทางC-xก็จะใช้เวลา 1-2 C-x-วินาทีจนกระทั่งพื้นที่สะท้อนการแสดงที่สำคัญคำนำหน้านี้เช่น ฉันค่อนข้างใหม่สำหรับ Emacs ดังนั้นสิ่งนี้มักทำให้ฉันสับสนและฉันก็หลงทาง ESCสำคัญทำหน้าที่คล้ายกับนี้ดังนั้นเมื่อฉันพยายามที่จะหลบหนีออกมาจากบางคำสั่งครึ่งเข้ามาผมมักจะจบลงด้วยการวนลูปกดESCและอีกครั้งหลังจากที่ 1-2 ที่สองที่ผมเห็นESC-ในพื้นที่สะท้อน มีวิธีที่จะลดเวลาที่ใช้ในการแสดงปฏิกิริยาในพื้นที่ก้องฉันจะทำอะไรผิดหรือมีจุดประสงค์อย่างใดหรือไม่?

2
สิ่งที่อาจเป็นกุญแจที่ไม่ได้ใช้งานบน Emacs ที่โดยทั่วไปสามารถใช้ในการผูกมาโครคีย์บอร์ดได้?
ผมอ่านที่ทางปกติคีย์ผูกไว้กับแมโครแป้นพิมพ์C-x C-k 0ไป9และจะAZ ตัวอย่างเช่นหลังจากที่เรากำหนดแมโครแป้นพิมพ์เราสามารถพิมพ์ C-x C-k bและ Emacs จะขอกุญแจเพื่อผูก และปุ่มที่สงวนไว้สำหรับจุดประสงค์นี้C-x C-k 0ไป9และจะAZ แต่มันเกี่ยวข้องกับการกดแป้นไม่กี่ครั้ง กุญแจอะไรที่ดีในการผูกสิ่งนี้กับ? ฉันพบว่าฉันสามารถผูกให้C-&lt;return&gt;หรือOption+ Enterบน Mac การทำงานของเครื่องเสมือน Ubuntu ใช้รุ่น Emacs GUI ดังนั้นจึงควรใช้งานได้ แต่เวอร์ชันเทอร์มินัลของ Emacs และ Emacs ดั้งเดิมบน Mac นั้นปฏิบัติต่อC-&lt;return&gt;หรือOption+ Enterเพียง&lt;return&gt;เพื่อจะไม่ทำงาน สิ่งที่อาจเป็นกุญแจที่ไม่ได้ใช้งานบน Emacs ที่โดยทั่วไปสามารถใช้ในการผูกมาโครคีย์บอร์ดได้? หรืออาจจะเป็นวิธีที่จะแสดงปุ่มง่ายๆทั้งหมดที่ไม่ได้ผูกไว้CtrlและMeta?

2
มีไวยากรณ์มาตรฐาน / แนะนำสำหรับการกำหนดการผูกคีย์บอร์ดหรือไม่?
ฉันได้เห็นสิ่งต่อไปนี้ทั้งหมดสำหรับการกำหนดการโยงคีย์บอร์ด งานทั้งหมดนี้ (อย่างน้อยใน MS Windows) ฉันไม่รู้ว่ามีวิธีอื่นในการทำสิ่งเดียวกันหรือไม่ ฉันสงสัยว่ามีวิธีมาตรฐานหรือวิธีที่แนะนำในการกำหนดการผูกแป้นพิมพ์หรือไม่และหากมีการแนะนำให้หลีกเลี่ยงสิ่งเหล่านี้ (global-set-key "\M-r" 'some-command) (global-set-key [(meta r)] 'some-command) (global-set-key [?\M-r] 'some-command) (global-set-key (kbd "M-r") 'some-command)

2
จะผูก C- [จริงได้อย่างไร?
C-[เทียบเท่ากับปุ่มลัดบนแป้นพิมพ์ภาษาอังกฤษแบบสหรัฐอเมริกาดังนั้นความพยายามใด ๆ ที่จะผูกมันจะทำให้M-พฤติกรรมยุ่งเหยิง Emacs ดูเหมือนจะไม่มีปัญหาในการบอก&lt;escape&gt;และC-[แยกในเฟรม GUI งานต่อไปนี้ทำงานได้ดีและมีผลผูกพันเริ่มต้นด้วยM-ยังคงทำงาน: (global-set-key (kbd "&lt;escape&gt;") (lambda () (interactive) (message "&lt;escape&gt;"))) อย่างไรก็ตามถ้าฉันผูก (global-set-key (kbd "C-[") (lambda () (interactive) (message "C-["))) ทันใดนั้น emacs ก็บ้าคลั่งและมีผลผูกพันเหมือนM-xหยุดพัก ยิ่งไปกว่านั้นการกดC-[ปฏิเสธที่จะเหนี่ยวไกแลมบ์ดาที่ถูกผูกไว้ ที่น่าสนใจพอC-x @ c [(ใช้ควบคุมการปรับแต่งเพื่อวงเล็บเปิด) C-[ is undefinedยังกล่าวว่า มีวิธีผูกมัดบางอย่างกับC-[โดยไม่ทำลาย emacs หรือไม่?

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

1
การใช้ปุ่มฟังก์ชั่นเป็นปุ่มปรับแต่ง“ เหนียว”
มีวิธีการใช้ฟังก์ชั่นคีย์ (เหมือน&lt;f8&gt;) เป็นเหตุการณ์ super-key-down และมีการกดแป้นถัดไป (f.ex. s) แล้วถูก interpeted เป็นs-s? กล่าวอีกนัยหนึ่งสิ่งนี้จะคล้ายกับปุ่มตัวดัดแปลงที่ติดหนึบ แต่สำหรับ emac ไม่ใช่ตัวระบบปฏิบัติการ ฉันรู้เกี่ยวกับโหมดคีย์คอร์ดและความจริงที่ว่าคุณสามารถใช้คีย์ผสมเช่นนี้(global-set-key (kbd "&lt;f8&gt; b t") 'undo)เพื่อบันทึกแป้นพิมพ์ลัด แต่ฉันต้องการบางสิ่งบางอย่างที่ทำงานร่วมกับการผูกที่มีอยู่ของฉันไปที่ซุปเปอร์คีย์และไม่ต้องการให้ฉันผูกทุกสิ่งในอนาคต (เช่นหนึ่งที่ผูกไว้กับซุปเปอร์คีย์และอีกหนึ่งสำหรับคีย์ฟังก์ชัน)

2
ยกเลิกการผูกกุญแจโดยใช้แพ็คเกจ
ฉันพยายามยกเลิกการเชื่อมโยง org-cycle-agenda-filesซึ่งตั้งโดยค่าเริ่มต้น และC-'C-, อาวุธของฉันเลือกที่จะทำคือการใช้แพคเกจแพคเกจ ในหน้าgithub.com/use-package/bind-key.el ฉันพบบรรทัดต่อไปนี้: ;; To unbind a key within a keymap (for example, to stop your favorite major ;; mode from changing a binding that you don't want to override everywhere), ;; use `unbind-key': ;; ;; (unbind-key "c-c x" some-other-mode-map) ทำให้ฉันลองทำตามรูปแบบต่าง ๆ ไม่สำเร็จ: (unbind-key "C-'" ) (unbind-key …

1
วิธีรับการกดแป้นในพื้นที่เสียงก้องทันที?
ฉันจะได้รับการกดแป้นในพื้นที่เสียงก้องทันทีได้อย่างไร ตัวอย่างเช่น: เมื่อฉันป้อนลำดับคีย์C-u jมันจะไม่แสดงในพื้นที่เสียงก้องทันที แต่จากนั้นฉันกดปุ่มkและฉันค้นพบว่าฉันพิมพ์ผิดก่อน ดังนั้นฉันคิดว่ามันจะมีประโยชน์สำหรับมือใหม่เช่นฉันเมื่อฉันกดแป้นบางปุ่มเพื่อเรียกคำสั่งสำหรับพื้นที่ echo เพื่อแสดงทันที

1
วิธีการนำทางอย่างมีประสิทธิภาพมากที่สุดไปยังจุดเริ่มต้นหรือจุดสิ้นสุดของข้อความหลักของพาดหัวขององค์กร
มันเป็นเรื่องง่ายที่จะนำทางได้อย่างรวดเร็วจากจุดเริ่มต้นของหนึ่ง org โหมดพาดหัวที่จะใช้อีกปุ่มความเร็ว สมมติว่าตอนนี้ฉันอยู่ที่จุดเริ่มต้นของพาดหัวและฉันต้องการเพิ่มไปยังข้อความหลักในการเริ่มต้นทันทีหลังจากคำสำคัญสิ่งที่ต้องทำ จากนั้นM-f Spaceจะพาฉันไปยังที่ที่ฉันอยากไป M-f M-bถ้าไม่มีคำหลักสิ่งที่ต้องทำแล้วก็ ถ้าฉันต้องการไปที่ท้ายข้อความพาดหัวมันก็ยากกว่า C-eหากมีคำหลักที่สิ้นสุดและไม่มีข้อความพับซ่อนอยู่ภายใต้พาดหัวก็เป็นเรื่องง่ายเหมือน แต่นั่นไม่ค่อยเป็นเช่นนั้น หากมีการพับข้อความ C-e M-bแต่ไม่มีคำหลักแล้วฉันจะทำ แต่ถ้ามีเป็นคำหรือสองตอนท้ายของการพาดหัวพับแล้วฉันจะพบว่าตัวเองการพิมพ์ (สยองขวัญ) C-e M-b M-b M-b M-f! และหากมีคำหลักมากกว่าสองคำมันจะแย่ลง เมื่อฉันกระโดดไปรอบ ๆ และแก้ไขพาดหัวข่าวมากมายหลังจากนั้นสิ่งนี้อาจเป็นเรื่องที่ต้องคิดมากและมันก็ทำให้กระแสของฉันยุ่งเหยิงไปหมด โดยหลักการแล้วฉันต้องการกำหนดใหม่sและeเป็นปุ่มลัดเพื่อให้ได้รับสิ่งที่ฉันต้องการอย่างแท้จริงในทุกกรณีเหล่านี้ มีใครเห็นวิธีแก้ปัญหาที่มีอยู่กับปัญหานี้หรือไม่? ทักษะ elisp ของฉันนั้นน้อยมากและมันก็น่ากลัวที่จะแก้ปัญหานี้ด้วยตัวเอง

4
แป้นพิมพ์ลัดใดที่จะใช้สำหรับการนำทางออกจากสตริง
เมื่อฉันอยู่กลางสตริง looooong ดังต่อไปนี้ (setq Emacs-beta "Which keyboard shortcut to use for navigating out of a string") ฉันสามารถข้ามมันไปได้ก่อน"ทางลัดแรก(หลังจาก Emacs-beta) ได้หรือไม่?

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