Mam plik tekstowy. Powiedziano mi, żebym zrobił to w UTF8. Jak mogę to zrobić z Vimem?
Mam plik tekstowy. Powiedziano mi, żebym zrobił to w UTF8. Jak mogę to zrobić z Vimem?
Odpowiedzi:
Jeśli edytujesz plik zakodowany jako latin1, zauważysz, że „fileencoding” dla tego bufora jest ustawione na latin1. Dlatego przed zapisaniem pliku musisz ręcznie ustawić kodowanie pliku.
:set fileencoding=utf8
:w myfilename
Należy również zauważyć, że pliki UTF8 często zaczynają się od znacznika kolejności bajtów (BOM), który wskazuje na koniec. Zestawienie komponentów jest opcjonalne, ale niektóre programy używają go wyłącznie do określenia kodowania pliku. W pewnych warunkach Vim zapisze BOM, ale czasami nie. Aby jawnie ustawić zestawienie komponentów, wykonaj następujące czynności:
:set bomb
Aby uzyskać więcej informacji :help mbyte-options
i :help utf8
i :help bomb
.
set fileencoding=utf-8
ponownie z przodu. Vim nawet nie zauważa BOM-a, jeśli kazałeś mu je napisać (i rzeczywiście to robi). Aby utf-8 działał, potrzebujesz tego lub set encoding=utf-8
w ustawieniach uruchamiania. Tak przynajmniej wygląda mój system.
:w ++enc=utf-8 %
aby zapisać plik w kodowaniu utf-8 na dysk.
fileencoding
, to :w ++enc=utf-8
jest ważny raz, ale następnym razem, gdy uruchomisz :w
, wartość 'fileencoding'
zostanie użyta, a jeśli jej nie zmieniłeś (wyraźnie podczas edycji lub przeładowując plik, mając nadzieję które 'fencs'
jest odpowiednio ustawione, a rzeczywiste kodowanie jest dobrze wykryte), powróci stare kodowanie.
fileencoding
jest również poprawną odpowiedzią na pytanie, które IMO nie prowadzi do przyjęcia złych nawyków. Ale OK, to tylko kwestia nastroju, jak sądzę.