textfx plugin manager indent notepad++ indentation auto-indent

plugin - textfx notepad++



Notepad++: deshabilita el autoguiado después de las líneas vacías (7)

Este comportamiento se puede desactivar haciendo:

Complementos> NppAutoIndent> Línea anterior

Si esta opción está desactivada, es posible que deba verificar primero esta opción:

Complementos> NppAutoIndent> Ignorar idioma

Encuentro un poco extraño el estilo autoindependiente de Notepad ++: cuando escribo en una línea sangrante, quiero que sangra la siguiente línea después de presionar Enter (esto lo hace correctamente). Sin embargo, cuando estoy en una línea vacía (sin sangrías, sin caracteres) y presiono Enter, sangra la siguiente línea, usando la misma sangría que la última línea no vacía. Encuentro esto extremadamente molesto; ¿Alguna vez te has encontrado con este problema y sabes cómo solucionarlo?

(Nota: estoy editando archivos HTML / PHP)

(También se aceptan sugerencias de otros editores gratuitos buenos para HTML / PHP, en caso de que no haya forma de cambiar este comportamiento).


Para ser honesto, esto para mí parece un comportamiento esperado. Las líneas en blanco se usan mucho para dividir el código y hacerlo más legible; hacer que el programa me obligue a tabular de nuevo sería MUY molesto.

Puedo entender esto como una frustración con algo como Python, pero no con PHP ... Sin embargo, antes de llaves, etc, esto podría ser molesto.

Pruebe Komodo Edit , sin embargo, es gratis, y he descubierto que, en general, ha sido lo mejor para mí mismo. Parece que aprendió mi estilo de codificación (o tiene las opciones para todos los estilos de codificación y recoge lo que está usando) y sangra automáticamente todo correctamente.

Editar: Como has notado en tu respuesta, el problema es con "espacios en blanco al final" - No conozco Notepad ++ demasiado bien, pero la mayoría de los editores modernos diseñados para la codificación tienen una opción de "dejar espacio en blanco al guardar" (sé Komodo ¡hace!)


Puedo confirmar que este problema ocurre con Notepad ++ versión 5.0.3. La única configuración relacionada que he encontrado está en Configuración> Preferencias> MISC> Sangría automática, pero eso solo activa o desactiva todas las sangrías automáticas.

He usado Editra ( http://editra.org ) en el pasado y me sentí feliz con él, y parece que funciona con la sangría de la manera en que usted está describiendo.


Trim Trailing Space and Save es molesto. Notarás que estás insertando pocos caracteres en documentos involuntariamente.

En su lugar, graba una macro y únela a tus ctrl + s.

Aquí está cómo hacerlo:

  1. Macro -> Comenzar la grabación
  2. Editar -> Recortar el espacio posterior
  3. Archivo -> Guardar
  4. Macro -> Parar la grabación
  5. Macro -> Guardar macro grabada actual (Recortar y Guardar)
  6. Configuración-> Administrador de acceso directo
  7. Menú principal -> Guardar -> Ctrl + Alt + Shift + Guardar
  8. Macros-> Recortar y guardar -> Ctrl + S

Encontré otra manera:

Utilice la macro "Recortar trailing y guardar" atajo "Alt + Shift + S"

Necesito esto todo el tiempo, simplemente cambie el atajo de guardado con el atajo macro "Recorte y guardado".

Solo utilizo notepad ++ cuando estoy programando, así que esto funciona bien para mí.


Lo que hago en Notepad ++ es:

  • Hay una macro "recorte de espacios finales" en TexFX> TexFX Edit.
  • Use esto para crear una macro "recortar y guardar".
  • Vincula esa macro a CTRL + S , y ata "Guardar" a otra cosa.

Te diría cómo grabar una macro que usa otra macro, pero hace años que lo hice y ahora solo copié el archivo. Espero que solo funcione, o posiblemente lo hice editando manualmente el archivo de accesos directos. Se ve así (en shortcuts.xml):

<Macro name="Trim and save" Ctrl="no" Alt="yes" Shift="yes" Key="83"> <Action type="1" message="2170" wParam="0" lParam="0" sParam=" " /> <Action type="1" message="2170" wParam="0" lParam="0" sParam=" " /> <Action type="1" message="2170" wParam="0" lParam="0" sParam=" " /> <Action type="0" message="2327" wParam="0" lParam="0" sParam="" /> <Action type="0" message="2327" wParam="0" lParam="0" sParam="" /> <Action type="2" message="0" wParam="42024" lParam="0" sParam="" /> <Action type="2" message="0" wParam="41006" lParam="0" sParam="" /> </Macro>

Dos advertencias:

  • La macro de recorte tiene errores. Solo funciona si el cursor está al final de una línea cuando se usa. De vez en cuando pienso en tratar de arreglarlo o hacerlo por mi cuenta, pero nunca me molesta porque reflexivamente lo soluciono moviendo el cursor antes de guardarlo. La misma solución podría simplemente incorporarse a su macro "recortar y guardar".

  • Algunas personas se molestan si quitas el espacio en blanco de "sus" archivos, ya sea porque les gusta o porque a veces usan diff sin ignorar el espacio en blanco (por ejemplo, en los informes de cambio) y no quieren ver que has cambiado la mitad del archivo cuando realmente era un trazador de líneas. Entonces, para esos archivos, simplemente deje el espacio en blanco al final tal como está y guarde con alt-fs (o la ''otra cosa'' a la que movió guardar) en lugar de ctrl-s. Probablemente necesites configurar Notepad ++ para que no borre el buffer de deshacer al guardar: de lo contrario, un error sería un desastre. Pero lo configuré de todos modos.


Es desafortunado que Notepad ++ no recorte automáticamente la segunda línea vacía. Pero, como solución alternativa , estoy de acuerdo con user108570 : una macro sería perfecta.

Me gusta hacer una distinción conceptual entre alimentaciones de línea "blandas" y "duras" , análogamente a los dos tipos de pestañas. La salida de la primera depende del estilo actual y la configuración de sangría. La salida de este último, sin embargo, siempre debe ser una nueva línea sencilla, no adulterada, pura y simple.

El sabor de avance de línea utilizado con más frecuencia debería, por supuesto, asignarse a la combinación de teclas más simple. Para la mayor parte de su edición, probablemente desee dejar "avance de línea suave" asignado a la tecla "Enter" y cambiar "Ctrl + Enter" para activar un "salto de línea duro".

En "Menú -> Configuración -> Administrador de acceso directo -> Menú principal" verá que, por defecto, "Ctrl + Enter" está asignado a "Finalización de palabra". Esto debe deshabilitarse primero asignándolo a "Ninguno".

Entonces simplemente graba una macro:

  1. Menú -> Macro -> Iniciar grabación
  2. Teclado -> Entrar
  3. Teclado -> pestaña
  4. Teclado -> Mayús + Inicio
  5. Teclado -> Eliminar
  6. Menú -> Macro -> Detener grabación
  7. Menú -> Macro -> Guardar macro grabada actual

El último paso abrirá un cuadro de diálogo donde nombraría la macro (por ejemplo, "Hard Linefeed") y establecería su mapeo (es decir, "Ctrl + Enter").

En el paso 3 podríamos haber agregado cualquier cosa (imprimible). Su único propósito es agregar algo para eliminar si no había nada antes, de modo que cualquier texto que siga al cursor permanecerá intacto.