I am trying to prevent neovim from adding comment header when I’m editing a comment section.
Specifically, when I hit ‘A’+Enter on a comment line, I would very much like neovim not to insert anything on the new line.
I’ve searched the web and read what I believe to be the relevant sections of the doc, but nothing works.
Here’s what’s in my init.vim:
"prevent vim from doing things it wasn’t asked to
autocmd FileType * setlocal formatoptions-=
autocmd FileType * set formatoptions=
setlocal formatoptions=
set formatoptions=
set textwidth=0
Am I missing something or is this a bug?
Any help appreciated.
[EDIT]: it looks like setting formatoptions to nil is somehow overriden by something that loads when the filetype changes: after loading my file, the formatoptions have been replaced by croql (none of which are welcome)
I’ve tried your setting in my init.vim and I do now see the current value of formatoptions in the status line (which is indeed not what is specified in my init file so something overwrites my settins).
However, it’s only showing me the current value, not what overwrote it or when it was overwritten.
the verbose bit is not to go in your init file. its for you to paste in the cmd mode to evaluate. When you evaluate that it will show which script/file/files set it last.
Most likely its the ftplugin for your current file’s filetype
Is there a way to change settings After a plugin has loaded?
Yes. Create the file ~/.config/nvim/after/ftplugin/c.vim and write
setlocal formatoptions=
Obviously putting whatever values for formatoptions you want.
Anything in the after/ directory in your ~/.config/nvim folder is sourced after the built-in runtime files (hence the name). This also works for plugin/ and indent/ files.
create a file called lua.lua at ~/.config/nvim/after/ftplugin
then add:
vim.bo.formatoptions = 'jnqlr'
many people do:
:set formatoptions-=cro
Which means:
c Auto-wrap comments using textwidth,
inserting the current comment
leader automatically.
r Automatically insert the current comment leader after hitting
<Enter> in Insert mode.
o Automatically insert the current comment leader after hitting
'o' or 'O' in Normal mode. In case comment is unwanted
in a specific place use CTRL-U to quickly delete
it. i_CTRL-U
As you can se we have to leave eather r or o enabled and become aquanted whith CTRL-U enjoing the best of the two worlds, auto-commenting and the oposit