Sök…


Anmärkningar

Tecknet ^M står för en vagnretur i Vim ( <cm> eller bara <CR> ). Vim visar detta tecken när åtminstone på rad i filen använder LF linjeavslut. Med andra ord, när Vim anser att en fil har fileformat=unix men vissa rader har vagnreturer ( CR ), visas vagnreturerna som ^M

En fil som har en enda rad med LF linjeslut och flera rader med CRLF skapas oftast genom att felaktigt redigera en fil som skapats på ett MSDOS-baserat system. Till exempel genom att skapa en fil under ett MSDOS-operativsystem, kopiera den till ett UNIX-baserat system och sedan förbereda en hash-bang-sting (t.ex. #!/bin/sh ) med hjälp av verktyg på det UNIX-baserade operativsystemet.

Konvertera en DOS-textfil till en UNIX-textfil

Ofta har du en fil som redigerades inom DOS eller Windows och du tittar på den under UNIX. Det kan se ut som följande när du visar filen med vi.

First line of file^M
Next Line^M
And another^M

Om du vill ta bort ^ M kan det vara så att du tar bort varje ^ M för hand. Alternativt, i vi efter att ha träffat Esc, kan du ange följande i kommandolägesprompt:

:1,$s/^M//g

Där ^ M matas in med Ctrl och v tillsammans och sedan Ctrl och m tillsammans.

Detta kör kommandot från den första raden '1' till den sista raden '$', kommandot är att ersätta 's' '' M 'för ingenting' 'och mot denna globala' g '.

Med hjälp av VIm: s filformat

När Vim öppnar en fil med <CR><NL> radändningar (vanligt på MSDOS-baserade operativsystem, även kallad CRLF ) kommer den att ställa in fileformat till dos , du kan kontrollera vad med:

:set fileformat?
  fileformat=dos

Eller bara

:set ff?
  fileformat=dos

För att konvertera det till <NL> linjeändningar (vanligt på de flesta UNIX-baserade operativsystem, även kallad LF ) kan du ändra fileformat och Vim kommer att ändra bufferten.

:set ff=unix


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow