Sangría con 4 espacios, pero muestra 2


7

En el trabajo, tenemos una política que establece que tenemos que usar 4 espacios para la sangría, y en mi opinión, hace que el código sea más difícil de leer.

¿Es posible sangrar con 4 espacios, pero mostrarlo como 2 espacios?


1
Yo diría que esto tiene poco o nada que ver con los spacemacs. Buena pregunta sin embargo. Estaría interesado en una solución.
PythonNut


1
¿Una especie de enfoque de "pestañas de pobres"? Me imagino que esto no es demasiado difícil de aplicar a todos los espacios iniciales, pero es más complicado si desea distinguir la sangría de la alineación.
phils

1
Supongo que aquí, pero ¿puedes tabular en tabulaciones de cuatro espacios, luego mostrar pestañas con paradas de dos espacios y finalmente desestabilizar en paradas de cuatro espacios? (Pero esta idea funcionará mal para las líneas de continuación.)
Norman Ramsey

Esto probablemente debería ser un comentario, no una respuesta.
PythonNut

Respuestas:


1

En realidad, solo hay una respuesta que puede funcionar para todos todo el tiempo, al menos si desea la capacidad de ver los incrementos de sangría en diferentes anchos y poder alinear las líneas de continuación de manera consistente con el nivel de sangría de la línea en la que continúan desde: Usar pestañas inteligentes .

Para obtener una explicación de todos los problemas con la sangría y la alineación de las líneas de continuación, consulte Tabs Are Evil . (Las pestañas no son realmente malas, por supuesto, es solo un problema cuando se abusa de ellas para múltiples propósitos; cuando se usan correctamente, son la herramienta habilitadora para ver la sangría en diferentes anchos).

La ventaja más importante de usar pestañas para sangría y espacios para alineación es que también se pueden ver incrementos de sangría con diferentes anchos fuera del editor. Por ejemplo, simplemente configurando tabulaciones detiene cada número deseado de espacios en el terminal de uno (emulador), incluso una vista en bruto (por ejemplo cat file) de un archivo con sangría de tabulación y alineado con espacio se verá como se desee sin importar el ancho de la pestaña del terminal. . Esta técnica de Smart Tabs debería funcionar incluso para esos otros editores menores, incluso si solo les pide cortésmente a sus usuarios que tengan un poco más de cuidado al presionar y al presionar para que puedan implementar Smart Tabs manualmente .


0

Prueba https://www.emacswiki.org/emacs/redshift-indent.el .

Ver C-h f redshift-indentpara el uso.

No use esta versión si usa pestañas para sangrar (aunque, a menos que esté mezclando espacios y pestañas, no tuvo un problema para empezar, ya que para el enfoque de solo pestañas simplemente puede ajustar tab-widthpara adaptarse).

Si estás indentando espacios exclusivamente, creo que esto estará bien.

No estaba planeando lanzarlo hasta que haya seguido un informe de error de propiedad de texto (que está esperando que proporcione más detalles de los escenarios en los que las cosas no funcionan), pero es posible que te funcione. sin importar. Decidí publicarlo en el Wiki tal como está a causa de ver otra pregunta Ver código con sangría diferente a la guardada en el disco , antes de darme cuenta de que la otra pregunta no era en realidad un duplicado después de todo ... con lo cual pensé que debería publicar una respuesta a la pregunta correcta ...


2
Por favor, no aloje ningún proyecto nuevo en Emacswiki.
wasamasa

1
Bueno, mi intención es que esto esté en GNU ELPA eventualmente. Por ahora está en la Wiki. Siéntase libre de probar el código, en lugar de simplemente comentar sobre el alojamiento.
phils
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.