As far as I know in unix it's a good practice to always have blank line at the end of file - or to put it in other words: every line should end with \n
.
While checking my python code with PEP8 I noticed that it also states that there should be \n
at end of file:
W292 no newline at end of file
JCR: The last line should have a newline.
What's strange, it conflicts with W391:
W391 blank line at end of file
JCR: Trailing blank lines are superfluous.
Okay: spam(1)
W391: spam(1)\n
How it should be? Should I have blank line at the end of file or not?
In Windows '\n' is the separator between lines, but in linux '\n' is the ending sign on any line. Vim do not thing wrong to add '\n' to the end of lines in linux platform but following os definition.
This is what W391 is talking about:
This is wrong according to W292:
What is correct is:
W391 is a blank line, that is, two consecutive
\n
s. There is no conflict.