8

I've upgraded vim and now it's unhappy about some UTF-8 values in my .vimrc.

This lead me to the question -- when vim reads .vimrc, what encoding does it assume the file has? I.e. what's fileencoding then?

5

It is whatever you define whit :scriptencoding. it should be the first line in you .vimrc file, e.g.:

scriptencoding utf-8

set number
set ...

Be aware that some options (listchars for example) only accept single width values.

Edit: Yeah, Vim is weird. encoding is for the editor itself, fileencoding is for the buffer and scriptencoding is for Vim scripts.

3
  • Thank you for the response, I was able to fix my installation with hacks. I'd appreciate if the answer was updated with an example of ~/,vimrc showing how to use scriptencoding – user20236 Jan 24 '19 at 2:19
  • @DimaTisnek done! I din't want to write it in the answer because it is not what you asked for but Vim's defaults are messed up IMHO and I think that's a good reason to try out Neovim (in fact I had to look in my old configuration to remember the syntax of scriptencoding) – Tae Jan 24 '19 at 17:59
  • 1
    @Tae, unless you on windows, where Neovim is still way behind vim. – Maxim Kim Jan 25 '19 at 10:18
1

As hinted at in the help files (:help scriptencoding), if you do not use scriptencoding, vim does no conversion, effectively assuming the script is in the encoding of the 'encoding' option. This is very often utf-8, occasionally latin1. Other encodings are possible. Generally you want to use

scriptencoding utf-8

when your script file contains non-ascii characters and is encoding in utf-8. If you use only 7-bit ascii characters, it is unnecessary.

'fileencoding' applies to the current buffer, not scripts. When opening a file, vim tries to guess the encoding from the option 'fileencodings'.

1
  • Thank you for the response, I was able to fix my installation with hacks. I'd appreciate if the answer was updated with an example of ~/,vimrc showing how to use scriptencoding – user20236 Jan 24 '19 at 2:19

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy