คำถามติดแท็ก minor-mode

4
วิธีการแทนที่การผูกโหมดหลัก
บางครั้งการโยงคีย์โกลบอลของฉันถูกเขียนทับโดยโหมดหลัก ตัวอย่างง่ายๆคือการตั้งค่าต่อไปนี้ในไฟล์ init ของฉัน (global-set-key (kbd "C-j") 'newline-and-indent) แต่น่ารำคาญที่การเชื่อมโยงปุ่มกดนี้ถูกซ่อนไว้ในโหมดหลัก "Lisp Interaction" ซึ่งเป็นโหมดเริ่มต้นของบัฟเฟอร์รอยขีดข่วน เมื่อฉันพบว่าตัวเองอยู่ในสถานการณ์ที่เป็นโหมดหลัก (หรือโหมดรอง) กำลังซ่อนปุ่มลัดส่วนกลางของฉันฉันจะเอามันกลับมาได้อย่างไร หมายเหตุ: คำถามของฉันไม่ใช่"ฉันจะผูกC-jไว้newline-and-indentในโหมด" Lisp Interaction "ได้อย่างไร" ฉันสนใจคำตอบทั่วไปเพิ่มเติมเกี่ยวกับวิธีจัดการกับ keymaps ที่ขัดแย้งหรือ keybindings ผู้ใช้ที่ถูกซ่อนโดยโหมดหลัก / รองบางอย่าง

3
มีโหมด Emacs หรือไม่ซึ่งเน้นความแตกต่างจากเวอร์ชั่นที่กำหนดไว้?
คุณสมบัติหนึ่งที่ Xcode มีซึ่งฉันคิดว่าค่อนข้างเรียบร้อยคือโหมด "การเปรียบเทียบ" ซึ่งแสดงความแตกต่างอย่างต่อเนื่องระหว่างบัฟเฟอร์ปัจจุบันและการกระทำล่าสุด มีอะไรแบบนี้สำหรับ Emacs ไหม? ฉันไม่สนใจเกี่ยวกับมุมมองด้านข้างพร้อมกัน เพียงแค่เน้นพื้นหลังของบรรทัดใด ๆ ที่มีการเปลี่ยนแปลงจะเป็นความช่วยเหลือที่ดี ฉันรู้ว่าฉันสามารถทำได้ตลอดเวลาC-x v =แต่มันเป็นมุมมองคงที่ของเวลาหนึ่งจุดและแสดงให้เห็นถึงความแตกต่าง ฉันต้องการที่จะเห็นไฟล์ทั้งหมดของฉันแก้ไขได้โดยมีการเน้นสี

3
วิธีที่เหมาะสมในการเปิดใช้งานโหมดรอง
ฉันมีโหมดฟูและจะเปิดใช้งานโหมดบาร์เล็ก ๆ น้อย ๆสำหรับมัน ดังนั้นวิธีใดที่ใช้กันทั่วไปและเป็นที่นิยมมากกว่า? A (add-hook 'foo-mode-hook 'bar-minor-mode) B (add-hook 'foo-mode-hook (lambda () "Turn on `bar-minor-mode' mode." (bar-minor-mode 1))) C (defun bar-minor-mode-on () "Turn on `bar-minor-mode' mode." (interactive) (bar-minor-mode 1)) (add-hook 'foo-mode-hook 'bar-minor-mode-on) D •ตัวแปร C แต่ฟังก์ชั่นผลักไปที่ต้นน้ำ E •ตัวแปร C แต่ฟังก์ชั่นเก็บไว้ในสูตรของปลั๊กอิน
24 hooks  minor-mode 

1
การเลื่อนแบบซิงโครไนซ์ในสองหน้าต่าง
มีวิธีสะท้อนคำสั่งการนำทางในหน้าต่างปัจจุบันในหน้าต่างอื่นที่มองเห็นได้หรือไม่ ฉันมีไฟล์ LaTeX สองไฟล์ที่แสดงในหน้าต่างสองบานและต้องการเลื่อนดูในเวลาเดียวกันเพื่อดูภาพรวมของความแตกต่าง ขณะนี้ฉันใช้แมโครเพื่อเลื่อนแบบอัตโนมัติในบัฟเฟอร์หนึ่งเลื่อนไปที่หน้าต่างอื่นและเลื่อนแล้วเลื่อนกลับ Ediff มีวิธี inbuilt การทำเช่นนี้ในediff-scroll-verticallyผูกไว้กับvดังนั้นผมสงสัยว่าถ้า emacs แล้วได้หนึ่งสร้างขึ้นใน. ดีผมอยากโหมดย่อยที่นำทางกระจกหน้าต่างที่มองเห็นได้ทั้งหมด

8
ซ่อนรายการโหมดย่อยในโหมดบรรทัด
ฉันใช้โหมดรองค่อนข้างน้อยและปกติฉันรู้ว่าโหมดรองเปิดใช้งานในโหมดหลักทุกโหมด C-h v minor-mode-listถ้าผมอยากจะดูรายการเต็มรูปแบบฉันสามารถเรียกใช้ ในขณะเดียวกันบรรทัดโหมดของฉันจะถูกอุดตันจริงๆดังนั้นเมื่อฉันแยกเฟรมในแนวตั้งบางครั้งฉันไม่สามารถอ่านจุดสิ้นสุดของโหมดบรรทัดได้ คำถามที่เกิดขึ้นจริง: วิธีการปิดการแสดงรายการโหมดย่อยในบรรทัดโหมด? ตัวอย่างเช่นตอนนี้อาจมีลักษณะเช่นนี้: -:--- main.c All (7,12) (C/l FlyC SScr Abbrev Fill) [main] 16:19 0.45 ฉันต้องการให้กระชับยิ่งขึ้น: -:--- main.c All (7,12) (C/l) [main] 16:19

2
รับรายการโหมดรองที่ใช้งานอยู่ในบัฟเฟอร์
รับรายการโหมดรองที่ใช้งานอยู่ในบัฟเฟอร์ปัจจุบันได้อย่างไร เอกสาร(info "(elisp)Minor Mode Conventions")พูดว่า: Define a variable whose name ends in ‘-mode’. We call this the "mode variable". The minor mode command should set this variable. The value will be ‘nil’ if the mode is disabled, and non-‘nil’ if the mode is enabled. The variable should be buffer-local if …
14 minor-mode 

3
คุณจะอัพเดทคำจำกัดความของโหมดรองได้อย่างไรขณะที่พัฒนาขึ้นมา?
ฉันเริ่มเขียนโค้ดโหมดย่อยเพื่อให้การป้อนคีย์บางอย่าง ความพยายามเริ่มต้นของฉันมีการพิมพ์ผิด: (define-minor-mode borked-mode "A mode defined with a broken key binding" nil nil '(([b] . 'previous-line))) ผมตั้งใจว่าจะใช้bที่สำคัญและตระหนักได้ทันทีว่าฉันควรจะได้นำมาใช้แทน"b" [b]ดังนั้นฉันจึงนิยามโหมดย่อยใหม่: (define-minor-mode borked-mode "A mode defined with a broken key binding" nil nil '(("b" . 'previous-line))) อย่างไรก็ตามสิ่งนี้ไม่ได้ผล สิ่งนี้ทำให้ฉันตกอยู่ในการไล่ล่าห่านป่าผ่านวิธีการต่างๆของกุญแจที่มีผลผูกพัน (เช่น, (kbd ... ), [... ], ฯลฯ ) ในที่สุดฉันก็รู้ว่าเพียงแค่การประเมิน(define-minor-mode ...)รูปแบบใหม่นั้นไม่ได้เปลี่ยนแปลงอะไรเลยฉันติดอยู่กับแผนที่หลักดั้งเดิมที่แตกหัก ฉันลองเปลี่ยน keymap โดยตรงผ่านทาง(define-key borked-mode-map …
13 minor-mode 

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

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