2010-10-20 18 views
8

Estoy en modo texto y quiero que mi tecla de tabulación sangra una línea en dos espacios.Cómo cambiar la sangría en modo texto para emacs

El archivo tiene el siguiente aspecto:

Line one 

Line two 

El cursor está situado antes de la 'L': "La línea dos", y me golpeó TAB y que llega sangría 6 espacios en lugar de la 2 espacios.

acciones que he intentado:

  1. He intentado actualizar la variable: tab-stop-list

    (setq tab-stop-list '(2 4 6 8 10 12 14 16)) 
    
  2. He intentado añadir un text-mode-hook

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

Respuesta

0

Tr y el establecimiento de

(setq standard-indent 2) 

En su .emacs

2

El valor por defecto en el modo de texto será sangría a la primera no está en blanco en la línea por encima de ella.

De la documentación de asociación de teclas en modo texto

TAB (traducido del) se ejecuta el comando de guión para la lengüeta de mando, que es una función Lisp compilado interactiva en `indent.el'.

Está vinculado a TAB.

(guión para la lengüeta de mando opcional & ARG)

línea de sangría o región en forma adecuada para el modo actual principal o insertar una tabulación. Según "tab-always-indent", inserte una pestaña o sangría.

En la mayoría de los modos principales, si el punto estaba en la sangría de la línea actual, se mueve al primer carácter que no sea de espacio en blanco después de la sangría; de lo contrario permanece en la misma posición en el texto ....

Afortunadamente, esto puede cambiarse. Añadiendo lo siguiente en el texto-mode-hook debe hacer lo que necesita:

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

Agregar a su .emacs:

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

Ver Emacs Indentation Tutorial.

+0

gracias por el puntero !! – phs

Cuestiones relacionadas