มีบางครั้งที่ฉันกำลังแก้ไขไฟล์ (ตัวอย่างหุ่นกระบอก) ที่ฉันต้องการจัดเรียงเนื้อหาบัฟเฟอร์ได้ทันที ตัวอย่างเช่นฉันรู้ว่าฉันสามารถใช้align-regexp
หรือalign
จัดรหัสเช่นนี้ตราบใดที่ฉันเลือกไว้:
# M-x align-regexp "=>" will line everything up nicely
file { "/etc/foo":
ensure => present,
mode => "0666",
source => "puppet:///modules/example/foo",
}
แต่สิ่งที่ฉันต้องการจริงๆก็คือสิ่งนี้เกิดขึ้นได้ทันทีโดยไม่ต้องเลือกภูมิภาคหรือบัฟเฟอร์ทั้งหมด มีแพ็กเกจหรือโหมดที่จะทำสิ่งนี้หรือเป็นสิ่งที่ต้องสร้างในโหมดที่ฉันสนใจ
แก้ไข:ฉันถามเกี่ยวกับ Puppet และ CFEngine เพราะนั่นคือสิ่งที่ฉันรหัสในวันนี้และฉันมีการตั้งค่าที่แข็งแกร่งสำหรับข้อความชิด อย่างไรก็ตามฉันก็อยากรู้อยากเห็น (และไม่ได้แสดงอย่างนี้) ที่จะรู้ว่าการจัดตำแหน่ง on-the-fly เป็นคุณสมบัติที่พบบ่อยในโหมด Emacs (ส่วนใหญ่ในโหมดสำหรับภาษาการเขียนโปรแกรม) หรือถ้าคนส่วนใหญ่จัดเรียงเมื่อบันทึกหรือบาง จุดอื่น ๆ
indent-region
ด้วยalign-to-equals
และกำหนดฟังก์ชั่นนี้เป็น(defun align-to-equals (begin end) (interactive "r") (align-regexp begin end "\\(\\s-*\\)=" 1 1 nil))
; และมีemacs-lisp-mode-hook
puppet-mode-hook