GNU Emacs: Configurar indentación

emacs

En esta receta explico un par de opciones muy útiles para configurar la forma que tiene Emacs de realizar la indentación. Por ejemplo, Emacs indenta el código C con dos espacios, pero quizá a tí te gusta más con 4. También permite cambiar la forma de indentar las llaves, paréntesis, etc.

Las Opciones

La primera de ellas es c-default-style, e indica el estilo de indentación que queremos que siga Emacs. Hay varios estilos, entre ellos k&r, gnu, bsd y linux. Podéis ver una lista entera con la completion al ejecutar el comando en el minibuffer de Emacs.

Tenemos también la opción c-basic-offset con la que podemos indicar el número de espacios que queremos que Emacs utilice en la indentación. Hay que recordar que, por defecto, Emacs utiliza tabulaciones, así que es posible que queráis utilizar el comando untabify si estáis reformateando un fichero entero. Para que no se usen tabulaciones y se utilicen sólo espacios, existe la opción indent-tabs-mode.

Podéis poner estas opciones en el fichero .emacs, de la siguiente forma:

;; c-mode indentation
(setq c-default-style "linux"
      c-basic-offset 3)
(setq indent-tabs-mode nil)   ;; usar solo espacios

Referencias

  1. http://www.emacswiki.org/emacs/IndentingC

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.
Imagen de magmax

Indentación personalizada

Hola!!

Tan solo comentar una manera de cambiar la indentación de un único archivo:

# -*- tab-width:4 -*-

Al comienzo del archivo se mete un comentario (en el ejemplo es un comentario Python) comenzando por "-*-" y terminando por la misma cadena, y entre medias se pueden meter distintas aspectos de configuración, el encoding o... el tabulado.

Esto es muy útil cuando editamos un archivo que está en un repositorio desde hace siglos y no queremos modificar todo su contenido.

Un saludo.

Miguel Ángel García
http://magmax.org