ฉันใช้spacemacs
แต่น่าจะเป็นความรู้ emacs ที่ต้องการที่นี่
ฉันมีไฟล์ JSON ที่มีบรรทัดยาวหนึ่งบรรทัดสมมุติว่า JSON นี้จาก json.org/example:
{"menu": {"id": "file", "value": "File", "popup": {"menuitem": [{"value": "New", "onclick": "CreateNewDoc()"}, {"value": "Open", "onclick": "OpenDoc()"}, {"value": "Close", "onclick": "CloseDoc()"}]}}}
ฉันอยากให้ emacs กลับมารวมตัวกันอีกครั้งซึ่งหมายความว่าฉันจะไม่เปลี่ยนตัวละครซ้ายสุดไปสู่ระดับการเยื้องที่เหมาะสม แต่แยกบรรทัดออกเป็นหลายบรรทัด
ถ้าฉันใช้spacemacs/indent-region-or-buffer
( SPC j =
) แล้วข้อความจะไม่เปลี่ยนแปลงเลย
ฉันจะขอให้ emacs แบ่งสายยาว ๆ นี้ได้อย่างไรและ reindent เพื่อให้ได้สิ่งนี้:
{"menu": {
"id": "file",
"value": "File",
"popup": {
"menuitem": [
{"value": "New", "onclick": "CreateNewDoc()"},
{"value": "Open", "onclick": "OpenDoc()"},
{"value": "Close", "onclick": "CloseDoc()"}
]
}
}}
ฉันไม่สนใจคำตอบเฉพาะของ JSON เช่นฉันเชื่อว่า intelliJ ทำเช่นนั้นสำหรับภาษาใดก็ได้ที่รองรับ (java, json ... ) ฉันคิดว่ามันเป็นไปได้สำหรับทุกภาษา emacs มีโหมดสำคัญสำหรับหรือสมมติว่าคนที่นิยมมากที่สุด
แก้ไขฉันค้นพบM-x json-reformat-region
ว่าspacemacs
มาพร้อมกับและใช้งานได้ แต่ใช่ฉันต้องการสิ่งนั้นสำหรับภาษาใด ๆ และใช้ทางลัดเดียวกันเสมอตามโหมดหลัก ...
EDIT2 เอาล่ะข้อสรุปของฉันคือมันถูกนำไปใช้กับภาษาต่าง ๆ อย่างน้อย JSON & lisp อย่างน้อยน่าจะเป็นคนอื่นและมันจะง่ายกว่านี้อีก (XML / XHTML ไปซึ่งมี go-fmt และใช้เสียงดังกราว) อย่างไรก็ตามไม่มีชื่อฟังก์ชั่นทั่วไปที่จะใช้กับทุกภาษา มีพื้นที่สำหรับการนำไปใช้งานในspacemacs
เลเยอร์สำหรับภาษาต่างๆ ... ฉันไม่พบการใช้งาน X / HTML ซึ่งทำให้ฉันประหลาดใจเล็กน้อย
web-beautiful.el
CSS: นี่คือสิ่งที่ดีที่สุดที่ฉันเคยพบ แต่มันขึ้นอยู่กับ node.js