Vim, UTF-8 i ISO-8859-2

Cztery lata temu miałem rozkminkę, jak wyedytować Vimem plik w kodowaniu UTF-8, kiedy mój terminal (i system) używa ISO-8859-2.

Dzisiaj używam systemu z domyślnym kodowaniem UTF-8, które uważam obecnie za Jedynie Słuszne Kodowanie™. Stanąłem jednak przed problemem: jak wyedytować Vimem plik zakodowany w ISO-8859-2? Oczywistym rozwiązaniem wydawało mi się postąpić analogicznie do poprzedniego rozwiązania, czyli ustawić parametr encoding na iso-8859-2, a termencoding na UTF-8. Ale to nie działa! Zagłębiłem się w dokumentację Vima i przeczytałem o parametrze fileencoding, ale ustawienie go też nie dało rezulatatów. Okazało się, że problem leży gdzie indziej.

Vim domyśli się sam kodowania pliku, ale kodowanie to musi być na liście kodowań rozważanych w momencie odczytywania pliku, wyszczególnionych w parametrze fileencodings. Używam tylko kodowań UTF-8, ISO-8859-2, więc sprawę załatwiło dopisanie do pliku ~/.vimrc następującej linijki:

set fileencodings=utf-8,latin2

Komentarze do notki Vim, UTF-8 i ISO-8859-2

  1. GiM:

    Hmm, przydałby mi się taki przypinacz, [nie nie delicious, chociaż może rozważę], gdzie bym sobie przypinał takie wpisy.

  2. Greyer:

    GiM: myślimy podobnie, moje delicious powoli się zapełnia linkami do róznych howto ... Jak wpadniesz na coś to opisz to na joggerze :]

  3. Gwpl:

    Dzięki !
    Wreszcie poznałem źródło problemów (=poznałem różnice między fileencoding i fileendodings !)

  4. rob:

    Dzięki, w końcu mi to działa jak należy

  5. wolfwilk:

    Dziękuję bardzo!
    Właśnie rozpoczynam przygodę z Vim i TeX/LaTeX. Utknąłem na samym początku w Vim-ie prawdopodobnie z powodu który Pan opisuje.
    Edycję /.wimrc przetestuję wieczorem. W moim Ubuntu Studio plik konfiguracyjny występuje w podkatalogach /etc i /src. Domyślam się, że dobrym rozwiązaniem będzie stworzenie ukrytego podkatalogu z tym zmodyfikowanym plikiem w moim katalogu domowym.
    Pana poradę zapisałem sobie w moich dokumentach na Goglu. Często zmieniam systemy więc tam będzie bezpieczna.

  6. wesolop0:

    Jedynie Słuszne Kodowanie – ano. Szczególnie, gdy operuje się wieloma językami na jednej stronie.

Dodaj komentarz: