Come forzare vim a terminare tutte le linee con un singolo carattere di avanzamento riga (LF)


Risposte:


6

La risposta breve è aprire il file in Vim e quindi digitare " :set fileformat=unix", quindi scrivere il file. Da quel momento in poi, Vim dovrebbe trattare il file come formato di file Unix e usare solo caratteri di nuova riga invece di trasporto-ritorno + nuova riga.

La lunga risposta è che a volte questo non funziona, perché quando apri il file in Vim vedi i caratteri ^ M reali alla fine della maggior parte delle righe. In questo caso potrebbe essere per due motivi:

  1. Il più probabile è che sia stato salvato originariamente come formato di file DOS, quindi "danneggiato" da un altro editor che ha ipotizzato che potesse trattarlo come formato Unix senza conversione e lasciato alcune righe senza terminazioni di riga DOS. In questo caso dovresti semplicemente fare qualcosa come :%s/\%x0d$//gscrivere.
  2. Il file è un formato di file DOS corretto ma Vim non riconosce questo fatto. Questo probabilmente significa che l'opzione 'fileformats' non è impostata correttamente. Per saperne di più, vedi " :help 'fileformats'" (le virgolette singole fanno parte del comando help).

Infine, se si utilizza Vim su un computer Windows, potrebbe essere necessario modificare l'opzione "fileformats" menzionata in "unix, dos" nel proprio ~/_vimrc"dos, unix" predefinito che è impostato in ambienti DOS / Windows. Ciò farà sì che Vim crei nuovi buffer nel formato Unix anziché nel formato DOS. (Ancora una volta, consultare la guida per i dettagli.)


4

Heptite è corretto e per effettuare automaticamente questa impostazione ogni volta che modifichi un file PHP, puoi aggiungere quanto segue al tuo ~/_vimrcfile:

au BufRead,BufNewFile *.php set fileformat=unix

Questo è un comando automatico che viene eseguito ogni volta che leggi un file in un buffer o crei un nuovo buffer che ha un nome file che corrisponde allo schema "* .php" e imposta il formato file su "unix", come da risposta di Heptite.

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.