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 a
y 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.
indentation
newlines
WeSenseASoulInSearchOfAnswers
fuente
fuente
M-x view-emacs-news
(oC-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.Respuestas:
Deshabilitar
electric-indent-mode
: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 queRET
("Enter") ahora sangra automáticamente, y necesita presionarC-j
para obtener solo una nueva línea con sin sangría. Se intercambiaronRET
yC-j
, en efecto. Si deseaRET
sangrar, entonces el nuevo comportamiento predeterminado debería darle lo que desea. En cualquier caso, el modo eselectric-indent-mode
: actívelo o desactívelo, como desee.)fuente
Existe la posibilidad de insertar un caracter de nueva línea con
C-q C-j
y hay 3 comandos para dividir la línea:open-line C-o
,split-line C-M-o
y elnewline RET, C-m
que utiliza. Si posiciona el cursor como dijo despuésa
y presiona,C-o
la 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-o
la línea actual también se pone un espacio en blanco adicional al final para que lasb
posiciones del cursor y se alineen después del cambio.En modo fundamental,
C-j
cambia el búfer a sus expectativas en mi máquina, yC-j
está obligado aelectric-newline-and-maybe-indent
fuente