ฉันจะปิดการใช้งานการเยื้องสมาร์ทใน emacs (และบังคับให้เว้นวรรคหรือแท็บ) ได้อย่างไร


9

ฉันต้องการให้ emacs แทรกทั้ง 4 ช่องว่างหรือแท็บเมื่อฉันกดปุ่มแท็บ ไม่มีอะไรอีกแล้ว. ฉันไม่ต้องการการเยื้องที่ชาญฉลาดฉันไม่ต้องการให้จัดแนวอัตโนมัติหรือพยายามทำอะไรที่ชาญฉลาด ฉันแค่ต้องการเอาท์พุท 4 ช่องว่าง (หรือแท็บ) =

คำตอบ:


2

ปัญหาคือว่าแต่ละโหมดใน 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ที่บุคคลอื่นตอบคำถาม


2

ลองสิ่งนี้

ค้นหา. emacs ของคุณและเพิ่มสิ่งนี้:

(setq c-basic-offset 2)

สิ่งนี้ทำให้ emacs ของคุณแทรก 2 ช่องว่างคุณสามารถเปลี่ยนจำนวนและใส่ 4 ได้

(setq-default indent-tabs-mode nil)

ถ้าคุณต้องการช่องว่างไม่มีแท็บ

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