ระเบียบเกี่ยวกับการใช้ Cx หรือ Cc เป็นคีย์คำนำหน้า


16

อะไรคือการประชุมสำหรับการใช้C-x, C-cหรือM-เป็นกุญแจคำนำหน้า?

ตัวอย่างเช่น: คือC-xฯลฯ สำหรับการบันทึกหรือเยี่ยมชมบัฟเฟอร์? เป็นC-cเช่นสำหรับการแก้ไขข้อความหรือไม่?

พื้นหลัง

บางทีนี่อาจเป็นคำถามที่งี่เง่า ฉันใช้แป้นพิมพ์ภาษาสเปนและบางครั้งก็กำหนดปุ่มลัดที่ใช้กันทั่วไปสำหรับแป้นพิมพ์ภาษาอังกฤษ (QWERTY) ตัวอย่างเช่นคำสั่งของเชลล์ที่ถูกผูกไว้ในวานิลลา Emacs M-!ไป ฉันผูกมันM-¡แทนเพราะM-!เป็นM-shift-1สิ่งที่ฉันไม่สามารถกดได้อย่างง่ายดาย ฉันสงสัยว่ามีการประชุมที่ฉันจะเอาชนะเมื่อฉันทำการเปลี่ยนแปลงเหล่านี้


like M-xis for "execute command command นี่คือเกตเวย์ไปสู่สิ่งที่ซับซ้อนมากมายที่คุณสามารถทำได้โดยการโต้ตอบใน Emacs มันช่วยให้คุณสามารถเรียกใช้ฟังก์ชัน Elisp ใด ๆ ได้ตามชื่อ" ไม่C-cและC-xไม่ได้มีรายละเอียดเช่นนั้น?
Pinocchio

คำตอบ:


21

หากคุณกำลังพูดถึงกุญแจเข้าเล่มสำหรับการใช้งานของคุณเองนี่เป็นกฎ: คุณสามารถผูกปุ่มใด ๆ ที่คุณต้องการ

หากคุณต้องการแน่ใจว่าจะไม่ผูกกุญแจที่อาจถูกผูกไว้แล้วให้ใช้C-cตามด้วยตัวอักษร คีย์ดังกล่าวสงวนไว้สำหรับผู้ใช้ (ดูถัดไป)


หากคุณกำลังพูดถึงคีย์การรวมในโค้ด (เช่นไลบรารี) ที่คุณเขียนเพื่อใช้งานโดยผู้อื่นดังนั้นกฎ (อนุสัญญา) จะอธิบายไว้ที่นี่: node Key Binding Conventionsของคู่มือ Elisp

กฎหลักที่เกี่ยวข้องกับสิ่งที่คุณถามนั้นเกี่ยวข้องกับC-c:

  • อย่ากำหนดC-c LETTERเป็นกุญแจสำคัญในโปรแกรม Lisp ลำดับประกอบด้วยC-cและตัวอักษร (ตัวพิมพ์ใหญ่หรือตัวพิมพ์เล็ก) ถูกสงวนไว้สำหรับผู้ใช้; เป็นลำดับเท่านั้นที่สงวนไว้สำหรับผู้ใช้ดังนั้นอย่าปิดกั้นพวกเขา

  • ลำดับที่C-cตามด้วยตัวควบคุมหรือตัวเลขถูกสงวนไว้สำหรับโหมดหลัก

  • ลำดับประกอบด้วยC-cตามด้วย{, }, <, >, : หรือ;ยังสงวนไว้สำหรับโหมดที่สำคัญ

  • ลำดับที่ประกอบด้วยC-cตามด้วยเครื่องหมายวรรคตอนหรืออักขระสัญลักษณ์ ASCII อื่น ๆ จะถูกจัดสรรสำหรับโหมดรอง การใช้พวกมันในโหมดหลักนั้นไม่ได้ห้ามอย่างเด็ดขาด แต่ถ้าคุณทำอย่างนั้นการเชื่อมโหมดหลักอาจจะมีเงาในบางครั้งโดยโหมดรอง

คุณจะได้ทราบว่ามีไม่มีC-xการประชุมเกี่ยวกับการ การประชุมอันเป็นหรือคำแนะนำที่ดีเพียง / การปฏิบัติเป็นหนึ่งในนี้ แต่ถ้าคุณเปลี่ยนบางอย่างที่มีอยู่ในมาตรฐาน Emacs ผูกพัน (เช่นหนึ่งที่คุณได้รับจาก Emacs เป็นกระจายโดยไม่ต้องโหลดห้องสมุดของบุคคลที่ 3 ใด ๆ ) แล้วที่อาจจะสับสนหรือ รบกวนผู้ใช้บางส่วนของรหัสของคุณ


คุณสามารถไปที่ doc ภายใน Emacs ด้วยวิธีนี้:

  1. C-h iเพื่อเปิด Info เบราว์เซอร์ doc
  2. m el TAB RETสำหรับm enu el isp ( TABให้เสร็จสมบูรณ์) หรือเพียงคลิกที่Elispลิงค์ด้วยเมาส์ของคุณ
  3. key bi TABจากนั้นn TAB RETให้ทำKey Binding Conventionsดังนี้

หรือคุณสามารถใช้iภายในคู่มือ Elisp เพื่อทำรายการดัชนีให้สมบูรณ์:

  1. C-h i m el TAB RET.
  2. i key bi TABซึ่งเสร็จสิ้นไปkey bindingและแสดงให้เห็นว่าคุณทั้งสองเป็นไปได้: และkey binding key binding, conventions forพิมพ์, TABเพื่อทำให้สมบูรณ์ถึงวินาทีจากนั้นRETเพื่อยอมรับ

มันจะดีกว่าที่จะปฏิบัติตามการประชุมเพื่อผูกC-cและตัวอักษรคำสั่งผู้ใช้ ด้วยวิธีนี้คุณสามารถ (เกือบ) มั่นใจได้ว่าจะไม่แทนที่การเชื่อมโยงอื่น ๆ จากโหมดหลักที่ติดตั้งแล้วหรือจะติดตั้งในอนาคตในอนาคต
โทเบียส

1
@Tobias: ไม่แน่ใจว่าคุณกำลังพูดอะไร ดีกว่าอะไร ควรทำตามอนุสัญญาผูกมัดคีย์ทั้งหมดรวมถึงไม่ผูกC-c+ LETTER ในไลบรารีของบุคคลที่สาม
Drew

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

3
@Tobias: ฉันเพิ่มสิ่งที่ฉันคิดว่าคุณพูด; ขอบคุณ แต่ไม่มีการประชุมสำหรับผู้ใช้ที่จะปฏิบัติตามด้วยความเคารพการผูกกุญแจ "การประชุมสำหรับ keybindings ผู้ใช้"ที่คุณพูดถึงไม่ได้ประชุมสำหรับผู้ใช้ พวกเขามีการประชุมสำหรับการเข้ารหัสเสียงกระเพื่อมที่คนอื่นจะใช้ (ฉันรู้ว่าคุณรู้เรื่องนี้แค่อยากจะชัดเจนสำหรับคนอื่นที่อ่านข้อความนี้)
Drew

ตัวควบคุมคืออะไร
Didier A.

2

@ คำตอบของ Drew นั้นมีรายละเอียดและมีรายละเอียดมากขึ้น

นี่เป็นคำถามที่ถูกต้องสมบูรณ์! มีแบบแผนที่C-xสงวนไว้โดย emacs เองในขณะที่C-cคำนำหน้าใช้สำหรับการโยงคีย์ที่ผู้ใช้กำหนด

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


1
C-cตามด้วยตัวอักษร (ตัวพิมพ์เล็กหรือตัวใหญ่) โดยไม่มีการดัดแปลงเพิ่มเติมสงวนไว้สำหรับผู้ใช้ ลำดับคีย์อื่น ๆ มากมายที่เริ่มต้นด้วยC-cจะถูกสงวนไว้สำหรับโหมดหลักโดยเฉพาะอย่างยิ่งลำดับที่ปุ่มจังหวะที่สองถูกปรับเปลี่ยนโดยปุ่มควบคุม
โทเบียส

คุณพูดถูก @Drew ตอบคำถามนี้ดีกว่ามาก
Panagiotis Koutsourakis

like M-xis for "execute command command นี่คือเกตเวย์ไปสู่สิ่งที่ซับซ้อนมากมายที่คุณสามารถทำได้โดยการโต้ตอบใน Emacs มันช่วยให้คุณสามารถเรียกใช้ฟังก์ชัน Elisp ใด ๆ ได้ตามชื่อ" ทำC-cและC-xไม่ได้มีรายละเอียดเช่นนั้น?
Pinocchio
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.