Search code examples
vimencoding

How to set the character encoding for a file in VIM


I'm using :set fileencoding=utf-8 and the file is saved correctly, but the next time I open it, I get garbled characters and :set fileencoding? says the option isn't set.

From the docs I understand that I shouldn't touch the encoding option.

What's the correct way of specifying an encoding for a file in VIM?


Solution

  • Use

    set fileencodings=utf-8
    

    (with an s at the end) which can contain a list of different encodings. Vim will try the encodings listed, from left to right, until one works and it will set fileencoding to that encoding. If none work then fileencoding is set to an empty string which will result in default behavior.

    Also it would probably make sense to add that to your vimrc so you aren't constantly doing that.