[VIM] Removing new line at the End Of File in VIM

[VIM] Removing new line at the End Of File in VIM


This post was last updated on June 23rd, 2020 at 07:57 pm

Vim is the best text editor when it comes to speed, handy and features comparison with any other text editor in this world. You will understand this if you are a UNIX user, administrator or a developer and more importantly if you really know how powerful VIM is. Anyways, today I am going to tell you guys how to remove the newline added by VIM automatically and how does this really impact???

There are different c coding standards for different projects. For example in Linux
a new continuation line of code is indented with tabs but the same in FreeBSD is done using 4 white spaces.

Similarly in some projects GCC or any other compiler that is used, is configured to through a compiler WARNING if there is no new line at the end of file. This holds true for UNIX like OS for example: Linux FreeBSD etc. But at some places it is configured not to have a new line, where you will get a compiler warning when you compile a file which may have a new line at the end of file.

Sometimes these kind of stuffs are not configured in compiler because at production level projects, compilers are configured to treat compiler warnings as ERRORs. So, these new line stuff are checked via coding standard utilities or scripts.

What’s the big deal if VIM is adding a new line at the end of file?

Earlier I was working on Linux and FreeBSD projects but recently I was moved to a proprietary embedded system project where everything is customized and I got compiler warning after doing some modifications in some of the c and header files using VIM. Earlier, everything was fine. Later I noticed that VIM is adding an extra line at the End of File which was causing problem for me.

How to get rid of automatic new line added or removed by VIM

Run these following commands in VIM:

:set binary
:set noeol

Please NOTE that the above commands are VIM commands and not shell commands.

Basically, we set the file as a binary file, then we command VIM not to have EOL (End Of Line) and then write and quit the file.

This will change only for the particular file that you open explicitly. If you want to have these changes set for all the file you edit with VIM then you need to add the following lines to your ~/.vimrc file:

set binary
set noeol
Previous [SHELL] How to know in which shell you are working in Linux or FreeBSD
Next C Style coding standard: All you want to know about

About author

shibaa987 275 posts

Linux kernel developer and a firmware developer with an experience of 10+ years.

View all posts by this author →

You might also like

VIM tips 0 Comments

How to fix E575: viminfo: Illegal starting char in line

This post was last updated on November 3rd, 2020 at 05:23 pmOnce I was working with the VIM editor and everything was normal. When I started using the same VIM

VIM tips 0 Comments

Using vi in Linux

This post was last updated on May 27th, 2020 at 05:36 pm vi Singles: (Command executes immediately) iIaArRoOpPY DJxXu(U)sS~ insert, append, replace, open new line, paste, yank one line, delete


No Comments Yet!

You can be first to comment this post!

Leave a Reply