He estado usando emacs 23 (python.el) durante poco más de un mes y no estoy satisfecho con la configuración predeterminada de auto-sangría.emacs 23 python.el estilo de autoguiado: ¿se puede configurar?
Actualmente, mis archivos de Python se-sangría automática de la siguiente manera:
x = a_function_with_dict_parameter({
'test' : 'Here is a value',
'second' : 'Another value',
})
a_function_with_multiline_parameters(on='First', line='Line',
now_on='Second', next_line='Line',
next='Third', finally='Line')
yo preferiría si pudiera establecer la configuración automática de sangría por lo que el mismo código podría fácilmente ser formateado:
x = a_function_with_dict_parameter({
'test' : 'Here is a value',
'second' : 'Another value',
})
a_function_with_multiline_parameters(on='First', line='Line',
now_on='Second', next_line='Line', next='Third', finally='Line')
Parece que la lógica de cómo me gustaría que la sangría automática funcione es:
Si el último carácter (sin comentario/espacio en blanco) de la línea anterior es a, aumente t él sangra el nivel por 1. De lo contrario, use el mismo nivel de sangría.
Pero usando esa lógica, TAB
necesitaría realmente aumentar el nivel de sangría de la línea actual. (Actualmente, TAB
solo mueve la línea al nivel de sangría automática)
¿Alguien sabe cómo puedo modificar la autodentación de emacs para lograr el estilo deseado?
Desafortunadamente, esto no funciona del todo como lo describí. Después de sangría automática, presionar continuamente '' TAB'' hace que la línea se desplace por niveles de sangría negativos (hacia el margen). Además, si manipulo manualmente un nivel de sangría, las líneas subsiguientes no permanecen en el mismo nivel. La buena noticia es que puedo revisar la fuente de python.el y ver si puedo descubrir cómo funcionan las cosas y, posiblemente, averiguar cómo modificarlo yo mismo. – brildum