ฉันต้องการให้ emacs แทรกทั้ง 4 ช่องว่างหรือแท็บเมื่อฉันกดปุ่มแท็บ ไม่มีอะไรอีกแล้ว. ฉันไม่ต้องการการเยื้องที่ชาญฉลาดฉันไม่ต้องการให้จัดแนวอัตโนมัติหรือพยายามทำอะไรที่ชาญฉลาด ฉันแค่ต้องการเอาท์พุท 4 ช่องว่าง (หรือแท็บ) =
ฉันต้องการให้ emacs แทรกทั้ง 4 ช่องว่างหรือแท็บเมื่อฉันกดปุ่มแท็บ ไม่มีอะไรอีกแล้ว. ฉันไม่ต้องการการเยื้องที่ชาญฉลาดฉันไม่ต้องการให้จัดแนวอัตโนมัติหรือพยายามทำอะไรที่ชาญฉลาด ฉันแค่ต้องการเอาท์พุท 4 ช่องว่าง (หรือแท็บ) =
คำตอบ:
ปัญหาคือว่าแต่ละโหมดใน emacs กำหนดปุ่ม TAB ต่างกัน หากต้องการรับพฤติกรรมระดับโลกให้ดูคำตอบของ Trey Jackson ใน/programming/344966/sane-tab-in-emacs
(defvar just-tab-keymap (make-sparse-keymap) "Keymap for just-tab-mode")
(define-minor-mode just-tab-mode
"Just want the TAB key to be a TAB"
:global t :lighter " TAB" :init-value 0 :keymap just-tab-keymap
(define-key just-tab-keymap (kbd "TAB") 'indent-for-tab-command))
คุณอาจต้องการใช้'self-insert-command
แทนการ'indent-for-tab-command
ที่บุคคลอื่นตอบคำถาม
ลองสิ่งนี้
ค้นหา. emacs ของคุณและเพิ่มสิ่งนี้:
(setq c-basic-offset 2)
สิ่งนี้ทำให้ emacs ของคุณแทรก 2 ช่องว่างคุณสามารถเปลี่ยนจำนวนและใส่ 4 ได้
(setq-default indent-tabs-mode nil)
ถ้าคุณต้องการช่องว่างไม่มีแท็บ