vim
Konwertowanie plików tekstowych z DOS na UNIX za pomocą vi
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