¿Cómo deshabilitar la sangría automática de nuevas líneas?

37

Recientemente actualicé emacs a la versión 24.4.1 y algo ha cambiado en la sangría de nuevas líneas. Cuando presiono enter, espero solo un nuevo carácter de línea "desnuda" en el punto donde estaba presente el cursor, en particular si estoy en el medio de la línea, esa línea debe dividirse y ningún carácter debe eliminarse, incluidos los espacios. Por desgracia, este no es el caso.

Aquí hay un ejemplo:

a b

Cuando coloco el cursor justo después ay presiono enterme sale:

a
b

mientras debería ser

a
 b

Busqué en Google un poco y probablemente esto se deba a la sangría automática, ¿cómo puedo desactivar esto? Estoy hablando de texto o modo fundamental si eso importa.

WeSenseASoulInSearchOfAnswers
fuente
77
Para la posteridad, tengo un comentario que agregar a esto. Muchos problemas de "actualización reciente" se pueden resolver leyendo las NOTICIAS con M-x view-emacs-news(o C-h n). Puede leer las NOTICIAS para cualquier versión anterior agregando un prefijo arg. Al ver las NOTICIAS y hacer una búsqueda de "sangría", el primer resultado es extremadamente similar a la respuesta de Drew. Solo un consejo útil para cualquier problema relacionado con las actualizaciones.
niñera

Respuestas:

49

Deshabilitar electric-indent-mode:

(when (fboundp 'electric-indent-mode) (electric-indent-mode -1))

Eso funciona con cualquier versión de Emacs. Esta molestia o nueva característica brillante, según su punto de vista, se introdujo como predeterminada en Emacs 24.4.

Vea también esta publicación similar en StackOverflow.

(Sin embargo, parece que está diciendo lo contrario , y que desea RET sangrar pero no está obteniendo esa sangría. Lo que ha cambiado es que RET("Enter") ahora sangra automáticamente, y necesita presionar C-jpara obtener solo una nueva línea con sin sangría. Se intercambiaron RETy C-j, en efecto. Si desea RETsangrar, entonces el nuevo comportamiento predeterminado debería darle lo que desea. En cualquier caso, el modo es electric-indent-mode: actívelo o desactívelo, como desee.)

Dibujó
fuente
1

Existe la posibilidad de insertar un caracter de nueva línea con C-q C-jy hay 3 comandos para dividir la línea: open-line C-o, split-line C-M-oy el newline RET, C-mque utiliza. Si posiciona el cursor como dijo después ay presiona, C-ola línea actual se dividirá después del cursor y cada carácter estará en la línea siguiente. la línea dividida mantendrá la posición de la columna para que se inserte un espacio en blanco adicional antes del contenido.

Hmm, interesante, con C-M-ola línea actual también se pone un espacio en blanco adicional al final para que las bposiciones del cursor y se alineen después del cambio.

En modo fundamental, C-jcambia el búfer a sus expectativas en mi máquina, y C-jestá obligado aelectric-newline-and-maybe-indent

p_wiersig
fuente