ฉันต้องการใช้ช่องว่าง 2 ช่องสำหรับการเยื้องแทน 4 ฉันสามารถเปลี่ยนพฤติกรรมเริ่มต้นของโหมด C โดยใช้:
(setq c-basic-offset 2)
ฉันจะเปลี่ยนสิ่งนี้ในโหมดจาวาสคริปต์ได้อย่างไร
ฉันต้องการใช้ช่องว่าง 2 ช่องสำหรับการเยื้องแทน 4 ฉันสามารถเปลี่ยนพฤติกรรมเริ่มต้นของโหมด C โดยใช้:
(setq c-basic-offset 2)
ฉันจะเปลี่ยนสิ่งนี้ในโหมดจาวาสคริปต์ได้อย่างไร
คำตอบ:
js-indent-level
สามารถใช้ในโหมดจาวาสคริปต์เริ่มต้นซึ่งรวมไว้โดยค่าเริ่มต้นเริ่มต้นใน emacs 23.2
(setq js-indent-level 2)
ควรทำในสิ่งที่คุณกำลังมองหา หากคุณใช้ emac เวอร์ชันเก่าคุณอาจอยู่ในโหมดจาวา ฉันคิดว่าโหมดนี้ตอบสนองc-basic-offset
อย่างไรก็ตามฉันอาจคิดผิด
(defun my-javascript-mode-hook () (setq indent-tabs-mode t tab-width 4 js-indent-level 4)) (add-hook 'javascript-mode-hook 'my-javascript-mode-hook)
ลอง
js-mode-hook
ดังนี้(defun my-js-mode-hook () (setq indent-tabs-mode t tab-width 4 js-indent-level 4)) (add-hook 'js-mode-hook 'my-js-mode-hook)
M-x h
จากโหมด js แต่ไม่พบอะไรเลย
ฉันหวังว่าจะมีคนบอกฉันเกี่ยวกับ Custom เร็ว ๆ นี้! บางทีนี่อาจจะช่วยมนุษย์คนอื่นเช่นฉันก็ได้นะ;)
เรียกใช้แบบกำหนดเอง:
M-x customize
จากนั้นเลือก "Programming" จากนั้นเลือก "Languages" จากนั้นเลือกภาษา / โหมดเพื่อปรับแต่ง แก้ไขตัวเลือกตามที่เห็นสมควร เมื่อเสร็จแล้วให้เลือก "บันทึกสำหรับเซสชันปัจจุบัน" หรือ "บันทึกสำหรับเซสชันในอนาคต"
คุณอาจต้องการตั้งค่า emac ให้ใช้ช่องว่างแทนแท็บ
(setq-default indent-tabs-mode nil)
ในไฟล์ javascript.el ของฉัน (/ usr / share / emacs / site-lisp) ฉันพบ
จาวาสคริปต์เยื้องระดับ 4
ดังนั้นหากคุณใช้โหมดเสียงกระเพื่อมเดียวกันคุณสามารถเปลี่ยนได้โดยการเรียกใช้
(setq javascript-indent-level 2)
คุณยังสามารถใช้
M-x customize-variable
และพิมพ์
js-indent-level
( js-
[TAB] แสดงรายการตัวเลือก) จากนั้นเปลี่ยนJs Indent Level
ตามต้องการแล้วคลิก[State:]
และบันทึก
การใช้EditorConfigอาจเป็นความคิดที่ดีเช่นกัน และแน่นอน Emacs มีโหมดสำหรับมันeditorconfig-emacs editorconfig-emacs
นอกจากนี้ยังมีอยู่ในตัวจัดการแพ็คเกจ ( M-x package-list-packages
) ผ่าน Melpa หรือ Marmalade
หากคุณต้องการเปลี่ยนเป็นรายไฟล์ให้วางไว้ที่ด้านบนสุดของไฟล์ของคุณ:
// -*- mode: js; js-indent-level: 2; -*-
วิธีแก้ปัญหาเหล่านี้ไม่ได้ผลสำหรับฉันหลังจากอัปเกรดเป็น Emacs 26 (ฉันได้js-indent-level
ตั้งค่าเป็น 2 แล้ว แต่ความกว้างของแท็บกลับไปเป็น 8) แต่สิ่งที่ได้ผลคือการตั้งค่าtab-width
ตัวแปรเป็น2
ซึ่งดูเหมือนว่าจะแทนที่default-tab-width
ตัวแปรเก่า
ฉันพบสิ่งนี้M-x customize
โดยการค้นหาtab width
.