notepad ++ aggiunta di righe extra a un file


7

Sono stato infastidito da questo problema per anni e ho appena provato a ignorarlo, ma quando apro i file per la prima volta che sono stati salvati da un mac / unix box, vedo un'interruzione di riga aggiuntiva dopo ogni riga:

something like

this

which is pretty

annoying

Quello che faccio di solito è solo una delle tante correzioni per questo comportamento in Google, come la soluzione TextFX per eliminare tutte le righe vuote.

Ma sono solo curioso di sapere perché questo accada. Perché? Perché non si verifica più anche se salvo il file, lo spingo nel repository git (e quando viene modificato da un altro utente in un mac / unix) non riscontro più questo problema?

MODIFICARE

il problema git era un problema che avevo prima ma il nostro attuale problema è che stiamo caricando i file usando la graffetta di rail, che li salva nel file system (stiamo usando un computer Windows). quando apriamo i file, lo vediamo come "macintosh" "ansi" anche se il server è in esecuzione su Windows. c'è un modo per aprirlo con la codifica corretta per impostazione predefinita?


Quale versione stai usando? Non ho mai avuto questo problema qui. Inoltre, quali personaggi vengono visualizzati quando è abilitato "Mostra tutti i personaggi"?
Aluísio ASG,

hai un file di esempio?
James P,

Se selezioni (dal menu) Visualizza > Mostra simbolo > Mostra fine linea , cosa vedi allora?
njd,

stiamo usando l'ultima versione di notepad ++, l'abbiamo appena scaricata e tutti i file che cariciamo sono in "macintosh" "ansi" nell'angolo in basso a destra. Abbiamo provato la cosa della conversione senza risultati però. il meglio che potevamo fare era sostituire tutto "\ r" con uno spazio vuoto e funzionava. vorremmo aprire file come quelli di default come "windows" "utf8" per evitare le doppie interruzioni di linea ... è possibile?
corroso il

La mia ipotesi è che stai diventando matto da qualche stranezza di trasferimento di file, come quella descritta di seguito da Dick.
Daniel R Hicks,

Risposte:


7

Ho avuto problemi con lo stesso problema per diversi anni, ma dopo aver letto questo post e provato alcune impostazioni in Notepad ++ non sembrava essere Notepad ++ che sta cambiando le impostazioni LF o CR.

Il mio "problema" è stato causato da un'impostazione di Filezilla, con la quale scarico i file dal mio sito Web per modificarli in Notepad ++.

In Filezilla avevo molte estensioni nell'impostazione "Classificazione automatica dei tipi di file" (vai su Modifica> Impostazioni> Trasferimenti> Tipi di file ). Dopo averli cancellati tutti e scaricato di nuovo il mio file, questo si è aperto perfettamente in Notepad ++, senza più interruzioni di riga. Testato anche per modificare il file, caricarlo, scaricarlo e modificarlo di nuovo.

Quindi, in Notepad ++ la mia impostazione predefinita per i nuovi file è:

  • Codifica: ANSI
  • Formato: Windows

E in Filezilla le impostazioni sono:

  • Tipo di trasferimento: Auto
  • Classificazioni automatiche dei tipi di file: l'elenco delle estensioni è vuoto

Questo ha risolto il mio problema.

Spero che sia d'aiuto.


1
+1 ma per me ho appena cambiato il 'Tipo di trasferimento predefinito' in Binario.
Rybo111,

0

Aiuterebbe a ottenere qualche informazione in più come

  1. Quale editor stai usando su Mac / Unix?
  2. Quando lo apri in Notepad ++ cosa dice nella barra di stato? Dos / Unix / Mac?
  3. Succede anche se il file non passa attraverso git?

Le terminazioni di linea sono state problematiche per molto tempo durante il passaggio di file tra i sistemi e puoi leggere di più su di esso su Wikipedia . Il problema proviene da Windows che utilizza CR + LF come interruzioni di riga, Mac che utilizza solo CR e Unix che utilizza solo LF (so che questa non è una regola difficile e veloce ma in generale).

Quando si utilizza un editor in attesa di un file in formato Unix e si riceve un file in formato Windows, l'editor può interpretare erroneamente CR + LF come due interruzioni di riga anziché una. È anche comune che questo si mostri come caratteri finali su ogni riga, di solito un quadrato o altre sciocchezze.

Dovresti essere in grado di verificare se questo è ciò che ti sta accadendo in Notepad ++ andando su Visualizza-> Mostra simbolo-> Mostra fine linea. Dovresti anche essere in grado di risolvere questo problema usando la funzione Modifica-> Conversione EOL.

È anche possibile che questo sia causato da o possa essere risolto nelle impostazioni di git. Git ha tre impostazioni, core.eol, core.safecrlf e core.autocrlf di cui puoi leggere di più nella manpage git config


grazie per la risposta informativa! lo abbiamo provato in una nuova installazione di notepad ++ e come ho detto nei commenti sopra, lo abbiamo risolto sostituendo "\ r" con uno spazio vuoto. vorremmo saltare questo passaggio anche se è noioso. È possibile? ho anche aggiunto alcune informazioni aggiuntive alla domanda
corrose il

Non conosco un modo per forzare Notepad ++ a trattarlo come un formato specifico, quindi non c'è aiuto. Penso che il tuo problema sia altrove. La mia ipotesi sarebbe che il file sia danneggiato / malformato causando un errore nel rilevamento del formato dei blocchi note. Forse il file contiene "\ r \ n" (notare lo spazio) invece di "\ r \ n" o un numero qualsiasi di combinazioni non standard.
Paxxi,

non penso che il file sia danneggiato, dato che aprirlo nel blocco note / wordpad non gli dà le righe extra.
corroso il

0

Ho provato le soluzioni di cui sopra e nessuna funzionava per me, ma si è scoperto che era FileZilla.

Ho trovato una raccomandazione in uno dei loro forum per il trasferimento utilizzando la modalità binaria anziché auto . Una volta modificato, il mio problema è stato risolto. :)

Exerpt:

Imposta il tipo di trasferimento (menu Trasferisci) da Auto a Binario e carica lo script.

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.