วิธีปิดการเยื้องบรรทัดใหม่โดยอัตโนมัติได้อย่างไร


36

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

นี่คือตัวอย่าง:

a b

เมื่อฉันวางเคอร์เซอร์หลังaและกดenterฉันจะได้รับ:

a
b

ในขณะที่มันควรจะเป็น

a
 b

ฉัน googled เล็กน้อยและอาจเป็นเพราะการเยื้องอัตโนมัติฉันจะปิดการใช้งานนี้ได้อย่างไร ฉันกำลังพูดถึงข้อความหรือโหมดพื้นฐานหากเป็นเช่นนั้น


7
สำหรับคนรุ่นหลังฉันมีความคิดเห็นที่จะเพิ่มไปยังนี้ ปัญหา "การอัปเกรดล่าสุด" จำนวนมากสามารถแก้ไขได้โดยการอ่านข่าวด้วยM-x view-emacs-news(หรือC-h n) คุณสามารถอ่านข่าวสำหรับรุ่นก่อนหน้าใด ๆ โดยการเพิ่มอาร์กิวเมนต์นำหน้า เมื่อดูข่าวและทำการค้นหา "เยื้อง" ผลลัพธ์แรกจะคล้ายกันมากกับคำตอบของ Drew เป็นเพียงเคล็ดลับที่มีประโยชน์สำหรับปัญหาใด ๆ ที่เกี่ยวข้องกับการอัปเกรด
พี่เลี้ยงเด็ก

คำตอบ:


49

ปิดการใช้งานelectric-indent-mode:

(when (fboundp 'electric-indent-mode) (electric-indent-mode -1))

ใช้งานได้กับ Emacs ทุกรุ่น ความรำคาญหรือความแวววาวใหม่นี้ขึ้นอยู่กับมุมมองของคุณถูกนำมาใช้เป็นค่าเริ่มต้นใน Emacs 24.4

ดูโพสต์ที่คล้ายกันนี้ใน StackOverflow

(อย่างไรก็ตามดูเหมือนว่าคุณกำลังพูดว่าreverseและคุณต้องการ RETเยื้อง แต่ไม่ได้รับการเยื้องนั่นคือสิ่งที่เปลี่ยนไปคือRET("Enter") ตอนนี้เยื้องโดยอัตโนมัติและคุณต้องกดC-jเพื่อรับบรรทัดใหม่ด้วย ไม่เยื้องพวกเขาสลับRETและC-jผลถ้าคุณต้องการRETเยื้องแล้วพฤติกรรมเริ่มต้นใหม่ควรให้สิ่งที่คุณต้องการในกรณีใด ๆ โหมดคือelectric-indent-mode: เปิดหรือปิดตามที่คุณต้องการ)


1

มีความเป็นไปได้ที่จะแทรกถ่านขึ้นบรรทัดใหม่ด้วยการเป็นC-q C-jและมี 3 คำสั่งที่จะแยกสาย: open-line C-o, split-line C-M-oและnewline RET, C-mที่คุณใช้ หากคุณวางเคอร์เซอร์ตามที่คุณพูดหลังจากaและกดC-oบรรทัดปัจจุบันจะแตกหลังจากเคอร์เซอร์และอักขระทุกตัวจะอยู่ในบรรทัดถัดไป แยกบรรทัดจะเก็บตำแหน่งคอลัมน์เพื่อให้แทรกว่างพิเศษไว้ก่อนเนื้อหา

อืมน่าสนใจด้วยC-M-oบรรทัดปัจจุบันจะได้รับช่องว่างพิเศษในท้ายที่สุดเพื่อให้bตำแหน่งเคอร์เซอร์และแถวหลังการเปลี่ยนแปลง

ในโหมดพื้นฐานC-jเปลี่ยนบัฟเฟอร์เป็นความคาดหวังของคุณบนเครื่องของฉันและC-jผูกพันกับelectric-newline-and-maybe-indent

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