How to set the character encoding for a file in VIM

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.


You should set fileencodings to the different encodings vim should try when opening a file, for example:

set fileencodings=ucs-bom,utf-8,latin1

From :help fileencodings:

This is a list of character encodings considered when starting to edit an existing file. When a file is read, Vim tries to use the first mentioned character encoding. If an error is detected, the next one in the list is tried. When an encoding is found that works, fileencoding is set to it.

You best put these settings in your .vimrc file so that you don't have to input them manually each time you start vim.


You can put that directive into a comment in the file:

# vim: set fileencoding=<encoding name> :

If vim doesn't display your file correctly when opened specify encoding with :set encoding=utf8


  • open:

    vim ~/.vimrc
  • add:

    set fileencodings=utf-8
    set encoding=utf-8
    
  • save and close by typing:

    :wq