2010-10-20 9 views
8

Ich bin im Textmodus und möchte mit meiner Tabulatortaste eine Zeile um zwei Leerzeichen einrücken.So ändern Sie den Einzug im Textmodus für Emacs

Die Datei sieht wie folgt aus:

Line one 

Line two 

Der Cursor vor dem ‚L‘ befindet: „Zeile zwei“, und ich traf TAB und es wird 6 Leerzeichen eingerückt in Bezug auf die 2 gewünschten gegen Räume.

Aktionen Ich habe versucht:

  1. ich die Variable Aktualisierung versucht haben: tab-stop-list

    (setq tab-stop-list '(2 4 6 8 10 12 14 16)) 
    
  2. Ich habe versucht, ein text-mode-hook

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

Antwort

0
Hinzufügen

Tr y Einstellung

(setq standard-indent 2) 

In Ihrem .emacs

2

der Standard für im Text-Modus in dem ersten Nicht-Leerzeichen in der Zeile über sie einrücken wird.

Von der Tastenkombination Dokumentation im Textmodus

TAB (übersetzt aus) führt den Befehl indent-for-Tab-Befehl, , die in `indent.el‘ eine interaktive zusammengestellt Lisp-Funktion ist.

Es ist an TAB gebunden.

(Gedankenstrich-for-tab-Befehl & optional ARG)

einrücken Linie oder Region in der richtigen Art und Weise für die aktuellen Hauptmodus oder eine Lasche einzufügen. Abhängig von "Tab-Immer-Einzug", fügen Sie entweder eine Registerkarte oder einen Einzug ein.

In den meisten Hauptmodi, wenn Punkt in der Einrückung der aktuellen Zeile war, wird nach dem Einrücken in das erste Nicht-Leerzeichen verschoben; sonst bleibt es an der gleichen Stelle im Text ....

Glücklicherweise kann dies geändert werden. Hinzufügen der folgenden in den Text-Modus-Haken tun sollten, was Sie brauchen:

(setq tab-width 2) 
(setq indent-line-function (quote insert-tab)) 
9

Fügen Sie diese auf Ihre .emacs:

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

Siehe Emacs Indentation Tutorial.

+0

danke für den Zeiger !! – phs

Verwandte Themen