Szukaj…


Uwagi

Znak ^M oznacza powrót karetki w Vimie ( <cm> lub po prostu <CR> ). Vim wyświetla ten znak, gdy przynajmniej on-line w pliku używa zakończeń linii LF . Innymi słowy, gdy Vim uważa, że plik ma fileformat=unix pliku fileformat=unix ale niektóre linie mają znaki powrotu karetki ( CR ), znaki powrotu karetki są wyświetlane jako ^M

Plik, który ma jedną linię z zakończeniem linii LF i kilka linii z zakończeniami linii CRLF jest najczęściej tworzony przez błędną edycję pliku utworzonego w systemie opartym na MSDOS. Na przykład, tworząc plik w systemie operacyjnym MSDOS, kopiując go do systemu opartego na UNIX, a następnie przygotowując żądło hash-bang (np. #!/bin/sh ) przy użyciu narzędzi w systemie operacyjnym opartym na UNIX.

Konwertowanie pliku tekstowego DOS na plik tekstowy UNIX

Dość często masz plik, który był edytowany w systemie DOS lub Windows i przeglądasz go w systemie UNIX. Może to wyglądać następująco podczas przeglądania pliku za pomocą vi.

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

Jeśli chcesz usunąć ^ M, być może usuniesz każdy ^ M ręcznie. Alternatywnie, w vi po wciśnięciu Esc możesz wpisać następujące polecenie w wierszu poleceń:

:1,$s/^M//g

Gdzie ^ M jest wprowadzane razem z Ctrl i v razem, a następnie Ctrl i m razem.

Wykonuje to polecenie od pierwszego wiersza „1” do ostatniego wiersza „$”, polecenie ma zastąpić „s” „^ M” niczym ”i tym globalnie„ g ”.

Korzystanie z formatu pliku VIm

Kiedy Vim otworzy plik z zakończeniami linii <CR><NL> (powszechny w systemach operacyjnych opartych na MSDOS, zwany także CRLF ), ustawi fileformat na dos , możesz to sprawdzić za pomocą:

:set fileformat?
  fileformat=dos

Lub tylko

:set ff?
  fileformat=dos

Aby przekonwertować go na zakończenia linii <NL> (wspólne w większości systemów operacyjnych opartych na UNIX, zwanych także LF ), możesz zmienić ustawienie fileformat , a Vim zmieni bufor.

:set ff=unix


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow