golangの日記

Go言語を中心にプログラミングについてのブログ

neovim オートコメントを無効化したい

vim.png


オートコメントとは、コメント行にカーソルがあるときに新しい行を追加すると、その新たな行が自動でコメントアウトされるやつ。それを無効化したい。





検索して出てるくやつはイベントが BufEnter とか BufRead になってて素の vim であればそれで無効化できる。Neovim ではイベントを FileType にすると無効化できた。

vim.api.nvim_create_autocmd('FileType', {
  group = vim.api.nvim_create_augroup('turn_off_auto_commenting', {}),
  pattern = '*',
  command = [[setlocal fo-=cro]]
})


消えてる

:set formatoptions
 formatoptions=jql

ftplugin とか書きたくない! editorconfig だけで十分!



以下ジャッキーチェン映画のエンディングのNG集みたいなもんです。

vim.cmd [[
augroup turn_off_auto_commenting
  autocmd!
  autocmd BufEnter * setlocal fo-=cro
augroup END
]]
vim.api.nvim_create_autocmd('BufRead', {
  group = vim.api.nvim_create_augroup('turn_off_auto_commenting', {}),
  pattern = '*',
  command = [[set fo-=cro]]
})
vim.api.nvim_create_autocmd('BufEnter', {
  group = vim.api.nvim_create_augroup('turn_off_auto_commenting', {}),
  pattern = '*',
  callback = function()
    vim.opt.formatoptions:remove({ 'c', 'r', 'o' })
  end,
})