On 13/12/11 20:32, Benjamin Fritz wrote:
First, you've sent your question to a list discussing the pages on the
wiki, not a Vim help list. You should have sent it to
[email protected], as discussed here:

http://vim.wikia.com/wiki/Vim_Tips_Wiki:Community_Portal#Asking_questions

I've included this list on my reply, you should respond there if you
have any additional problems.

On Tue, Dec 13, 2011 at 10:09 AM, Edward Garbowski<[email protected]>  wrote:
I am having an issue with opening a text file with no BOM.  I have a
text file that opens fine in Notepad, but if I open it in VIM I just
get garbage.

If I look at the hex code, there is no BOM in the beginning.  If I put
a BOM in, it works.

How can I make VIM work with no BOM on reading a file?  Or is this a
bug of some kind?

I am using version 7.3.46


It sounds like your 'fileencodings' option is not set correctly.
Probably it contains "ucs-bom" but not "utf-8".

This is probably because either you've deliberately edited your
'fileencodings' option, or you've never set Vim up to use a multibyte
'encoding' option in the first place.

See http://vim.wikia.com/wiki/Working_with_Unicode and the help
references listed near the bottom of that tip, to get started.


Another possibility would be a file in UTF-16le with no BOM. If it contains Latin text, Vim (with the standard 'fileencodings') would display it with most characters followed by a blue ^@ (l^@i^@k^@e^@ ^@t^@h^@i^@s^@).

To read a UTF-16 file with no BOM (or any file whose charset, known to you, is not correctly detected by the 'fileencodings' heuristics), I recommend telling Vim the encoding to use:

        :e ++enc=utf-16le foobar.baz

see :help ++opt


The values recognized for the BOM are as follows (in hex):

        UTF-8           EF BB BF
        UTF-16be        FE FF
        UTF-16le        FF FE
        UTF-32be        00 00 FE FF
        UTF-32le        FF FE 00 00
        UTF-32-3412     FE FF 00 00
        UTF-32-2143     00 00 FF FE

I'm not sure Vim knows about the latter two (which I've seen listed online, I don't remember at the moment if it was on the Unicode site, the ISO site or the W3C site). A consequence of the above is that the first codepoint in a UTF-16 file (of either endianness) must not be a null.


Best regards,
Tony.
--
Schizophrenia beats being alone.

--
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Reply via email to