¿Cómo recorto automáticamente los espacios en blanco al final con Notepad ++?

68

No quiero eliminar las líneas vacías por completo, pero quiero eliminar las pestañas finales y los espacios en blanco en ellas. Eclipse generalmente lo hace (a través de una configuración de preferencia) cuando guardamos el archivo.

Por ejemplo, el archivo antes de guardar ($ = final de línea):

def shuffle(list):$
    import random $
    $
    random.shuffle(list)
    $
$

... y cuando guardo esto en el editor, Eclipse hace lo siguiente:

def shuffle(list):$
    import random$
$
    random.shuffle(list)
$
$

¿Cómo puedo recortar automáticamente los espacios en blanco al final con Notepad ++?

Srikanth
fuente
Para recortar espacios en blanco de varios archivos a la vez, haga una búsqueda y reemplazo para la expresión regular [ \t]+$. ( Captura de pantalla ) ( Fuente )
Stevoisiak

Respuestas:

72

Debería poder hacer una expresión regular buscar / reemplazar en Notepad ++ usando un patrón como \s+$.

También hay algunas opciones en el menú Editar -> Operaciones en blanco que pueden ajustarse a sus necesidades.

En el menú "Macro" hay una opción para "Recortar y guardar". Si necesita hacer una expresión regular, es posible crear una macro, sin embargo, nunca las he probado.

johanno
fuente
99
Sí, en mi versión de Notepad ++, hay un Edit -> Trim Trailing Space, pero ¿puedo activarlo automáticamente para cada guardado?
Srikanth el
55
Hay una opción para "Recortar y guardar" en el menú Macro
johanno
22
He vinculado la tecla Ctrl + S a la Macro -> Trim Trailing and saveopción, usando la Settings -> Shortcut Mapper...opción. Esto es mucho mejor que tener que recordar ejecutar la macro todo el tiempo. :)
Casey Kuball
La búsqueda \s+$coincidirá con cualquier línea vacía, independientemente del espacio en blanco. Recomiendo usar en su [ \t]+$lugar. (Consulte ¿Cómo
elimino
63

Alt+ Shift+ Shace lo que quieres. De hecho, también guarda el archivo.

Actualizar

Como 10basetom señaló, puede asignar un acceso directo diferente a esta macro. Puede controlar sus accesos directos en Configuración> Mapa de accesos directos> [Macros] .

ingrese la descripción de la imagen aquí

kon psych
fuente
10
Para eliminar los espacios finales al guardar: (1) Elimine el atajo predeterminado Guardar (Ctrl + S), luego (2) asigne la macro "Recortar Trailing y guardar" a Ctrl + S.
Thdoan
1
Y para eliminar el Saveacceso directo predeterminado , haga doble clic en el Shortcutcampo y luego seleccione Nonedel cuadro combinado.
Mitch
2
Encontré esta página, actualicé mis atajos como sugeriste y la usé felizmente para siempre. Luego, recientemente tuve que configurar una nueva máquina y había olvidado por completo cómo lo había hecho antes ... ¡Volví a buscar y encontré esta respuesta nuevamente! ¡Deberías obtener +2 por ayudarme así!
Stijn de Witt
Configuración> Mapeador de accesos directos, luego pestaña 'Macros'
bonob
Esta debería ser la respuesta seleccionada para mí ^^
Nam G VU
4

Complementos> Administrador de complementos> Mostrar administrador de complementos
En la pestaña Disponible, seleccione EditorConfig y haga clic en [Instalar]

Agregue un .editorconfigarchivo a la carpeta (asígnele un nombre .editorconfig.para evitar el error de Windows "Debe escribir un nombre de archivo"; se eliminará el último punto)

# trims trailing whitespace for all files; filter like [*.{json,xml}]
[*]
trim_trailing_whitespace = true

EditorConfig también puede especificar codificación, sangría y caracteres de nueva línea, etc.

Desarrollador web
fuente
1
Parece que el complemento EditorConfig para Notepad ++ no es compatible con la opción trim_trailing_whitespace
jpa
1
El soporte para trim_trailing_whitespacese agregó el 20/04/2016 . / cc @jpa
Stijn
Desearía poder votar esto más, aunque solo sea por el .editorconfig.truco. Pensar que había estado recurriendo a crear archivos de puntos a través del Símbolo del sistema como un hombre de las cavernas durante todos estos años.
jamesdlin
4

Cambié los atajos para encontrar una solución a esto. Eliminé el atajo de guardar (mapeador de atajos -> menú principal -> guardar) y asigné Ctrl+ Sa la macro "Recortar seguimiento y guardar" (mapeador de atajos -> macros -> recortar arrastrar y guardar). De esta manera, la macro reemplaza la funcionalidad de guardar y no hay necesidad de recordar el acceso directo Alt+ Shift+ S.

Martín pescador
fuente
2

Las respuestas existentes parecen viejas.

Prueba debajo del camino:

Notepad++ > Edit (menu) > Blank Operations > Trim Trailing Space
Manohar Reddy Poreddy
fuente
1
Grabé una macro en "Recortar espacios finales" Y "convertir pestañas en espacios", para mantener la coherencia en el control de versiones. Luego guardé la macro con la combinación de código clave Atl-T. Alt-T, Ctrl-Ses un combo rápido para recortar, convertir y guardar. Lo hago a propósito en dos pasos, ya que no quiero recortar archivos de rebajas, o cambiar pestañas / seguimiento al editar archivos de otros mantenedores que pueden tener un estándar diferente al que uso. Notepad++ > Edit (menu) > Blank Operations > Trim Trailing Spacey Notepad++ > Edit (menu) > Blank Operations > TAB to Space. (N ++ también tiene ... Space to TABopciones.)
SherylHohman
1

Ctrl+ F-> Cambiar a pestaña Reemplazar ->

Encuentra qué: \ t \ r

Reemplazar con: \ r

Asegúrese de que el modo de búsqueda extendida esté activado, luego reemplace todo.

Si desea guardar también, johanno tiene la solución correcta. Macro -> Recortar seguimiento y guardar funciona como se especifica.

dr4g1116
fuente
Esta respuesta no está actualizada
Antonio
1

De otra manera -

  1. Edición> Operaciones en blanco> Eliminar espacio en blanco innecesario y EOL
  2. Complemento> Herramientas XML> Impresión bonita (solo XML, con saltos de línea)

'XML Tools' es un complemento que podemos instalar para notepad ++

Pritam Karmakar
fuente
1

Alt+ Shift+ Ses el atajo predeterminado para esto. Está en la barra de menú como Macro -> Trim Trailing and save. Puedes volver a vincular esto debajo Settings -> Shortcut Mapper -> [Macros].

Volver a vincular 'Recortar seguimiento y guardar' a través de Shortcut Mapper

Sobre la base de la respuesta de kon psych , si desea recortar automáticamente los espacios en blanco cada vez que guarde, puede configurar esto para reemplazar el comportamiento Ctrl+ predeterminado S. Solo recuerde cambiar o eliminar el acceso directo de guardado original para evitar conflictos.

Deshabilitar el acceso directo predeterminado 'guardar'

Stevoisiak
fuente
+1 para "Solo recuerde cambiar o eliminar el acceso directo original para evitar conflictos".
Wafeeq
1

Para preservar los comandos de menú existentes, asigne (previamente sin asignar) Ctrl+ Tpara recortar los espacios finales. Luego, haz Ctrl+ Ty Ctrl+ Sjuntos.

Esto le permite hacer un pequeño cambio en un archivo sin confundir las utilidades de comparación de texto y los programas de control de fuente al cambiar (potencialmente) cientos de líneas.

al h
fuente
1

Estos son los pasos precisos para redirigir el acceso directo estándar "Guardar" Ctrl+ Spara hacer en su lugar "Recortar y guardar"

  • Preferencias-> Acceso directo Mapper ...
  • Pestaña del menú principal, haga doble clic en "Guardar", cambie Sa Ninguno
  • Pestaña Macros, haga doble clic en "Recortar espacio final y guardar", cambie a Ctrl+S

El acceso directo de Macros también se puede modificar desde Macro-> Modificar acceso directo / Eliminar macro ...

Antonio
fuente
Gracias, esta es absolutamente la mejor respuesta
Simon Tan