Zoeken…


Opmerkingen

Het teken ^M staat voor een regelterugloop in Vim ( <cm> of alleen <CR> ). Vim geeft dit teken weer wanneer minstens een regel in het bestand LF regeleinden gebruikt. Met andere woorden, wanneer Vim van mening is dat een bestand fileformat=unix maar sommige regels wel regelterugloop ( CR ) hebben, worden de regelteruggaven weergegeven als ^M

Een bestand met een enkele regel met LF regeluiteinde en meerdere regels met CRLF regeluiteinden wordt meestal gemaakt door een bestand dat is gemaakt op een MSDOS-systeem verkeerd te bewerken. Bijvoorbeeld door een bestand te maken onder een MSDOS-besturingssysteem, het te kopiëren naar een op UNIX gebaseerd systeem en vervolgens een hash-bang-steek (bijvoorbeeld #!/bin/sh ) voor te stellen met behulp van tools op het op UNIX gebaseerde besturingssysteem.

Een DOS-tekstbestand converteren naar een UNIX-tekstbestand

Heel vaak heb je een bestand dat is bewerkt in DOS of Windows en je bekijkt het onder UNIX. Dit kan er als volgt uitzien wanneer u het bestand met vi bekijkt.

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

Als u de ^ M wilt verwijderen, kan het zijn dat u elke ^ M met de hand verwijdert. Als alternatief kunt u na het raken van Esc het volgende invoeren bij de opdrachtprompt:

:1,$s/^M//g

Waar ^ M wordt ingevoerd met Ctrl en v samen en vervolgens Ctrl en m samen.

Dit voert het commando uit vanaf de eerste regel '1' tot de laatste regel '$', het commando is om 's' de '^ M' te vervangen voor niets '' en hieromtrent 'g'.

Het bestandsformaat van VIm gebruiken

Wanneer Vim een bestand opent met <CR><NL> regeleindes (gebruikelijk op MSDOS gebaseerde besturingssystemen, ook wel CRLF ) zal het fileformat op dos , u kunt controleren wat met:

:set fileformat?
  fileformat=dos

Of gewoon

:set ff?
  fileformat=dos

Om het te converteren naar <NL> regeleindes (gebruikelijk op de meeste op UNIX gebaseerde besturingssystemen, ook wel LF ), kunt u de fileformat wijzigen en Vim zal de buffer wijzigen.

:set ff=unix


Modified text is an extract of the original Stack Overflow Documentation
Licentie onder CC BY-SA 3.0
Niet aangesloten bij Stack Overflow