2013-04-26 16 views
75

Per qualche motivo, quando apro file da un server Unix sulla mia macchina Windows, occasionalmente hanno una conversione EOL Macintosh, e quando li modifico/li salvi di nuovo essi non funzionano correttamente su unix server. Uso solo Notepad ++ per modificare file da questo server Unix, quindi c'è un modo per creare una macro che converta automaticamente EOL in formato Unix ogni volta che apro un file?Conversione EOL nel blocco note ++

+0

possibile duplicato di [Modifica EOL su più file in una volta sola] (http://stackoverflow.com/questions/11341660/change-eol-on-multiple-files-in-one- go) –

+1

Il tuo problema potrebbe riguardare qualsiasi programma FTP che stai utilizzando. Ad esempio, utilizzo WinSCP su remoto in un server Unix, Notepad ++ è impostato come editor predefinito, ma ho dovuto entrare nelle impostazioni di WinSCP e impostare la modalità di trasferimento su 'Binary' per mantenere le terminazioni di riga preservate. Quindi, potresti essere in grado di riconfigurare il tuo programma FTP/SCP/etc per trasferire i file in un modo diverso. – Slicktrick

risposta

133

Questa funzionalità è già incorporata in Notepad ++. Dal menu "Modifica", selezionare "Conversione EOL" -> "Formato UNIX/OSX". È inoltre possibile impostare l'EOL predefinito in notepad ++ tramite "Impostazioni" -> "Preferenze" -> "Nuovo documento/Directory predefinita", quindi selezionare "Unix/OSX" nella casella Formato.

+6

Conosco la conversione nel menu di modifica e le impostazioni che hai menzionato riguardano solo i nuovi documenti. Voglio fare automaticamente la conversione per ogni file che apro (o ogni file che salvo) – Jeff

+0

Il problema è quando apro un file Unix esistente, la "Conversione EOL" -> Formato UNIX/OSX è disattivata. Notepad ++ è frustrante da usare con i file UNIX, quindi uso Notetab Lite che mi permette di salvare tutti i file come UNIX, non solo quelli nuovi. –

+2

@OffTheGold L'opzione EOL UNIX è disattivata perché è la selezione corrente. – blakeoft

9

In Notepad ++, utilizzare sostituisci tutto con espressione regolare. Questo ha un vantaggio sul comando di conversione nel menu che è possibile operare su tutta la cartella senza dover aprire ogni file o trascinare la selezione (su diverse centinaia di file diventerà notevolmente più lento), inoltre è possibile anche impostare il filtro dei caratteri jolly.

(\r?\n)|(\r\n?) 

a

\n 

Ciò corrisponderà ogni possibile linea di fine modello (singolo \ r \ n o \ r \ n) torna a \ n.

per operare su più file, o:

  • Usa "Sostituisci tutto sommato documento aperto" nella scheda "Sostituisci". Dovrai prima trascinare e rilasciare tutti i file in Notepad ++. È bene controllare il file su cui operare ma può essere lento se ci sono centinaia o migliaia di file.
  • "Sostituisci nei file" nella scheda "Trova nei file", per filtro di file a scelta, ad es. * .cpp * .cs in una directory specificata.
+0

Ciò può causare la perdita di EOL dovuta alla sostituzione di \ r \ n \ r \ n con un singolo \ n. Credo. – Sunspawn

+0

Confirm ha funzionato in Notepad ++ 6.9.1. Cercherà in avanti, quindi non ricorsivamente ricorsivamente quelli che stanno dietro. – Wappenull

1

I aprire i file "direttamente" da WinSCP, che si apre il file in Notepad ++ ho avuto un file php sul mio server Linux, che sempre aperti in formato Mac, non importa quello che ho fatto :-(

Se io scaricato il file e poi aperto da locale (windows) era aperto come Dos/Windows .... hmmm

La soluzione era quella di convertire EOL il file locale in "UNIX/OSX Format", salvarlo e quindi caricarlo

Ora quando apro il file direttamente dal server è aperto come "D os/Windows ":-)

Problemi correlati