Come posso tagliare automaticamente gli spazi vuoti finali con Notepad ++?


70

Non voglio eliminare completamente le righe vuote, ma voglio rimuovere le schede finali e gli spazi bianchi in esse. Eclipse di solito lo fa (tramite un'impostazione delle preferenze) quando salviamo il file.

Ad esempio, il file prima di salvare ($ = fine riga):

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

... e quando lo salvo nell'editor, Eclipse fa quanto segue:

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

Come posso tagliare automaticamente gli spazi vuoti finali con Notepad ++?


Per tagliare spazi bianchi da più file contemporaneamente, fai un Trova e sostituisci per l'espressione regolare [ \t]+$. ( Screenshot ) ( Fonte )
Stevoisiak,

Risposte:


74

Dovresti riuscire a trovare / sostituire un'espressione regolare in Notepad ++ usando un modello simile \s+$.

Ci sono anche alcune opzioni nel menu Modifica -> Operazioni vuote che possono soddisfare le tue esigenze.

Nel menu "Macro" c'è un'opzione per "Traccia il trailing e il salvataggio". Se è necessario eseguire un'espressione regolare, potrebbe essere possibile creare una macro, ma non le ho mai provate.


9
sì, nella mia versione di Notepad ++, c'è un Edit -> Trim Trailing Space, ma posso attivarlo automaticamente per ogni salvataggio?
Srikanth,

5
C'è un'opzione per "Taglia trailing e save" nel menu Macro
johanno

22
Ho associato il tasto Ctrl + S Macro -> Trim Trailing and saveall'opzione, usando l' Settings -> Shortcut Mapper...opzione. È molto meglio che dover ricordare di eseguire sempre la macro. :)
Casey Kuball,

La ricerca \s+$corrisponderà a qualsiasi riga vuota, indipendentemente dallo spazio bianco. Consiglio [ \t]+$invece di usare . (Vedi Come rimuovo gli spazi bianchi finali usando un'espressione regolare? )
Stevoisiak,

63

Alt+ Shift+ Sfa quello che vuoi. In effetti salva anche il file.

Aggiornare

Come notato da 10basetom, è possibile assegnare un collegamento diverso a questa macro. Puoi controllare le tue scorciatoie in Impostazioni> Mappatura scorciatoie> [Macro] .

inserisci qui la descrizione dell'immagine


10
Per eliminare gli spazi finali quando si salva: (1) Rimuovere la scorciatoia Salva predefinita (Ctrl + S), quindi (2) assegnare la macro "Rifilatura finale e salvataggio" a Ctrl + S.
thdoan

1
E per rimuovere il Savecollegamento predefinito , fai doppio clic sul Shortcutcampo e seleziona Nonedalla casella combinata.
Mitch,

2
Ho trovato questa pagina, aggiornato le mie scorciatoie come mi hai suggerito e l'ho usato per sempre felici e contenti. Poi di recente ho dovuto installare una nuova macchina e avevo completamente dimenticato come avevo fatto prima ... Ho cercato di nuovo e ho trovato di nuovo questa risposta! Dovresti ottenere +2 per avermi aiutato in questo modo!
Stijn de Witt,

Impostazioni> Collegamento scorciatoia, quindi scheda "Macro"
bonob

Questa dovrebbe essere la risposta selezionata per me ^^
Nam G VU,

4

Plugin> Plugin Manager> Mostra Plugin Manager
Nella scheda Disponibile, selezionare EditorConfig e fare clic su [Installa]

Aggiungi un .editorconfigfile alla cartella (denominalo .editorconfig.per evitare l'errore di Windows "Devi digitare un nome file" - l'ultimo punto verrà rimosso)

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

EditorConfig può anche specificare caratteri di codifica, rientro e newline, ecc.


1
Sembra che il plug-in EditorConfig per Notepad ++ in realtà non supporti l'opzione trim_trailing_whitespace: github.com/editorconfig/editorconfig-notepad-plus-plus
jpa

1
Il supporto per è trim_trailing_whitespacestato aggiunto il 20/04/2016 . / cc @jpa
Stijn,

Vorrei poter votare di più, anche se solo per il .editorconfig.trucco. Pensare di aver fatto ricorso alla creazione di file di punti tramite il Prompt dei comandi come un uomo delle caverne per tutti questi anni.
jamesdlin,

4

Ho cambiato le scorciatoie per trovare una soluzione a questo. Ho rimosso la scorciatoia di salvataggio (mappatura scorciatoia -> menu principale -> salva) e mappata Ctrl+ Salla macro "Ritaglia trascinamento e salvataggio" (mappatura scorciatoia -> macro -> trascina trascinamento e salvataggio). In questo modo la macro sostituisce la funzionalità di salvataggio e non è necessario ricordare il collegamento Alt+ Shift+ S.


2

Le risposte esistenti sembrano vecchie.

Prova sotto il percorso:

Notepad++ > Edit (menu) > Blank Operations > Trim Trailing Space

1
Ho registrato una macro in "Trim Spazi di trascinamento" E "Converti tab in Spaces", per coerenza nel controllo della versione. Ho quindi salvato la macro con la combinazione di codici chiave Atl-T. Alt-T, Ctrl-Sè una combinazione rapida per tagliare, convertire e salvare. Lo faccio intenzionalmente in due passaggi, poiché non voglio tagliare i file di markdown o cambiare tab / trailing durante la modifica dei file di un altro manutentore che potrebbe essere impostato su uno standard diverso da quello che uso. Notepad++ > Edit (menu) > Blank Operations > Trim Trailing Spacee Notepad++ > Edit (menu) > Blank Operations > TAB to Space. (N ++ ha anche ... Space to TABopzioni.)
SherylHohman,

1

Ctrl+ F-> Passa alla scheda Sostituisci ->

Trova cosa: \ t \ r

Sostituisci con: \ r

Assicurati che la modalità di ricerca estesa sia attiva, quindi sostituisci tutto.

Se vuoi salvare anche, johanno ha la soluzione corretta. Macro -> Trim Trailing and Save funziona come specificato.


Questa risposta è obsoleta
Antonio

1

Un altro modo -

  1. Modifica> Operazioni in bianco> Rimuovi spazi vuoti e EOL non necessari
  2. Plugin> Strumenti XML> Pretty print (solo XML - con interruzioni di riga)

'XML Tools' è un plugin che possiamo installare per notepad ++


1

Alt+ Shift+ Sè il collegamento predefinito per questo. È nella barra dei menu come Macro -> Trim Trailing and save. Puoi ricollegarlo sotto Settings -> Shortcut Mapper -> [Macros].

Rilegatura di "Trim Trailing and save" tramite Shortcut Mapper

Costruire sulla risposta kon di psych , se si vuole tagliare automaticamente gli spazi bianchi ogni volta che si salva, è possibile impostare questa opzione per sostituire il predefinito Ctrl+ Scomportamento. Ricorda solo di modificare o rimuovere il collegamento di salvataggio originale per evitare conflitti.

Disabilitare il collegamento predefinito "salva"


+1 per "Ricorda solo di modificare o rimuovere il collegamento di salvataggio originale per evitare conflitti".
Wafeeq,

1

Per preservare i comandi di menu esistenti, mappa (precedentemente non assegnato) Ctrl+ Tper tagliare gli spazi finali. Quindi, fai Ctrl+ Te Ctrl+ Sinsieme.

Ciò consente di apportare una piccola modifica a un file senza confondere le utilità di confronto del testo e i programmi di controllo del codice modificando (potenzialmente) centinaia di righe.


1

Questi sono i passaggi precisi per reindirizzare la scorciatoia standard "Salva" Ctrl+ Sda fare invece "Taglia trailing e salva"

  • Impostazioni-> Mapper scorciatoie ...
  • Scheda Menu principale, fai doppio clic su "Salva", Spassa a Nessuno
  • Scheda Macro, fai doppio clic su "Taglia spazio finale e salva", passa a Ctrl+S

Il collegamento Macro può anche essere modificato da Macro-> Modifica collegamento / Elimina macro ...


Grazie, questa è assolutamente la risposta migliore
simon tan
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.