Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to override color scheme in neovim lua config file?

how can I override some color scheme value in neovim lua config file? I am trying to use .lua instead of .vim. Previously in my init.vim file I have this to override some settings I want to enable these settings for init.lua file also. How I can achieve this?

highlight ColorColumn ctermbg=0 guibg=lightgrey
highlight Normal ctermfg=white ctermbg=black
autocmd ColorScheme * highlight CursorLineNr cterm=bold term=bold gui=bold

config file

like image 317
monzim Avatar asked Dec 04 '25 13:12

monzim


1 Answers

For Neovim

In your Lua configuration init.lua, you can use vim.cmd function to add highlight and create auto-command:

vim.cmd([[highlight ColorColumn ctermbg=0 guibg=lightgrey]])
vim.cmd([[highlight Normal ctermfg=white ctermbg=black]])
vim.cmd([[autocmd ColorScheme * highlight CursorLineNr cterm=bold term=bold gui=bold]])

For Neovim >= 0.7

With this Neovim version, there is a new function in API to set highlight : nvim_set_hl

You could define your highlights with it in Lua:

vim.api.nvim_set_hl(0, "ColorColumn", { ctermbg=0, bg=LightGrey })
vim.api.nvim_set_hl(0, "Normal", { ctermfg=White,  ctermbg=Black })

There is also nvim_create_autocmd function in API to create auto-command in Lua:

vim.api.nvim_create_autocmd("ColorScheme", 
  pattern="*",
  callback = function()
    vim.api.nvim_set_hl(0, "CursorLineNr", { cterm=bold, bold=true })   
  end,
)
like image 144
lcheylus Avatar answered Dec 08 '25 05:12

lcheylus



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!