Bagaimana mengubah indentasi dalam mode teks untuk emacs

Saya dalam mode teks dan ingin tombol tab saya membuat indentasi satu baris menjadi dua spasi.

Filenya terlihat seperti ini:

Line one

Line two

Kursor terletak sebelum 'L' : "Baris dua", dan saya menekan TAB dan itu akan menjorok 6 spasi dibandingkan dengan 2 spasi yang diinginkan.

Tindakan yang saya coba:

  1. Saya sudah mencoba memperbarui variabel: tab-stop-list

    (setq tab-stop-list '(2 4 6 8 10 12 14 16))
    
  2. Saya sudah mencoba menambahkan text-mode-hook

    (add-hook 'text-mode-hook
      '(lambda ()
        (setq tab-width 2)))
    

person ftravers    schedule 20.10.2010    source sumber


Jawaban (3)


Tambahkan ini ke .emacs Anda :

(add-hook 'text-mode-hook
          '(lambda ()
             (setq indent-tabs-mode nil)
             (setq tab-width 2)
             (setq indent-line-function (quote insert-tab))))

Lihat Tutorial Indentasi Emacs.

person Jérôme Radix    schedule 21.10.2010

Default untuk dalam mode teks akan menjorok ke karakter non-spasi pertama pada baris di atasnya.

Dari dokumentasi pengikatan kunci dalam mode teks

TAB (diterjemahkan dari ) menjalankan perintah indent-for-tab-command, yang merupakan fungsi Lisp terkompilasi interaktif di `indent.el'.

Itu terikat pada TAB.

(indentasi-untuk-tab-perintah & ARG opsional)

Indentasi baris atau wilayah dengan cara yang benar untuk mode utama saat ini atau masukkan tab. Bergantung pada `tab-always-indent', sisipkan tab atau indentasi.

Dalam sebagian besar mode utama, jika titik berada dalam lekukan baris saat ini, titik tersebut akan dipindahkan ke karakter non-spasi pertama setelah indentasi; jika tidak, ia akan tetap pada posisi yang sama dalam teks....

Untungnya, hal ini bisa diubah. Menambahkan yang berikut ini ke kait mode teks Anda akan melakukan apa yang Anda perlukan:

(setq tab-width 2)
(setq indent-line-function (quote insert-tab))
person jwernerny    schedule 20.10.2010

Coba atur

(setq standard-indent 2)

Di .emacs Anda

person ocodo    schedule 20.10.2010