I am migrating from a well tested and used for years init.vim
to a new init.lua
. The last two lines do not show errors but they do not work. The idea is to show an underline when I enter insert mode
and remove it when in normal mode
.
In init.lua
vim.cmd('highlight Cursorline cterm=NONE gui=NONE guibg=NONE')
vim.cmd('autocmd InsertEnter * highlight Cursorline cterm=underline gui=underline') -- Does not work
vim.cmd('autocmd InsertLeave * highlight Cursorline cterm=NONE gui=NONE') -- Does not work
Full init.lua
-- General setting
vim.api.nvim_set_option('mouse', 'a')
vim.api.nvim_set_option('laststatus', 2)
vim.api.nvim_set_option('title', true)
vim.api.nvim_set_option('cursorline', true)
vim.api.nvim_set_option('clipboard', 'unnamedplus') -- Register * as clipboard
vim.api.nvim_set_option('ignorecase', true) -- Search ignore case
vim.api.nvim_set_option('splitright', true)
vim.api.nvim_set_option('splitbelow', true)
-- Search
vim.api.nvim_set_option('hlsearch', true) -- Highlight search
vim.api.nvim_set_option('incsearch', true) -- set incremental search
-- UTF-8
vim.api.nvim_set_option('encoding', 'utf-8')
vim.api.nvim_set_option('fileencoding', 'utf-8')
--vim.api.nvim_set_option('termencoding', 'utf-8')
-- Tabs
vim.api.nvim_set_option('expandtab', false)
vim.api.nvim_set_option('tabstop', 4)
vim.api.nvim_set_option('shiftwidth', 4)
vim.api.nvim_set_option('textwidth', 100)
--vim.api.nvim_set_option('', )
-- Colors
vim.api.nvim_set_option('termguicolors', true)
vim.api.nvim_set_option('syntax', 'on')
vim.api.nvim_command('colorscheme oceanicnext')
-- SHORTCUTS --------------------------------------------------
-- General shortcuts
vim.api.nvim_set_keymap('n', 'cc', ':!make', {})
vim.api.nvim_set_keymap('n', '<S-s><S-s>', ':w<cr>', {})
vim.api.nvim_set_keymap('n', 'ls', ':buffers<cr>', {})
vim.api.nvim_set_keymap('n', 'gb', ':w<cr>:buffers<cr>:b<space>', {})
vim.api.nvim_set_keymap('n', '<space>', '/', {})
-- LaTeX shortcuts
vim.api.nvim_command('augroup filetype_tex')
-- Begin End block
vim.api.nvim_command('autocmd filetype tex inoremap <C-B> <ESC>YpkI\\begin{<ESC>A}<ESC>jI\\end{<ESC>A}<esc>kA')
-- Greek letters
vim.api.nvim_set_keymap('i','<C-g>a','\\alpha',{noremap=true})
vim.api.nvim_set_keymap('i','<C-g>b','\\beta',{noremap=true})
vim.api.nvim_set_keymap('i','<C-g>e','\\epsilon',{noremap=true})
vim.api.nvim_set_keymap('i','<C-g>g','\\gamma',{noremap=true})
vim.api.nvim_set_keymap('i','<C-g>l','\\lambda',{noremap=true})
vim.api.nvim_set_keymap('i','<C-g>m','\\mu',{noremap=true})
vim.api.nvim_set_keymap('i','<C-g>o','\\omega',{noremap=true})
vim.api.nvim_set_keymap('i','<C-g>s','\\sigma',{noremap=true})
-- Pretty letter for sets
vim.api.nvim_set_keymap('i','<C-b>c','\\mathbb{C}',{noremap=true})
vim.api.nvim_set_keymap('i','<C-b>k','\\mathbb{K}',{noremap=true})
vim.api.nvim_set_keymap('i','<C-b>n','\\mathbb{N}',{noremap=true})
vim.api.nvim_set_keymap('i','<C-b>r','\\mathbb{R}',{noremap=true})
-- Vectors
vim.api.nvim_set_keymap('i','<C-e>0','\\vec{0}',{noremap=true})
vim.api.nvim_set_keymap('i','<C-e>e','\\vec{e}',{noremap=true})
vim.api.nvim_set_keymap('i','<C-e>u','\\vec{u}',{noremap=true})
vim.api.nvim_set_keymap('i','<C-e>v','\\vec{v}',{noremap=true})
vim.api.nvim_set_keymap('i','<C-e>w','\\vec{w}',{noremap=true})
vim.api.nvim_set_keymap('i','<C-e>x','\\vec{x}',{noremap=true})
vim.api.nvim_set_keymap('i','<C-e>y','\\vec{y}',{noremap=true})
vim.api.nvim_set_keymap('i','<C-e>z','\\vec{z}',{noremap=true})
vim.api.nvim_command('augroup end')
-- Relative line numbers
vim.api.nvim_set_option('number', true)
vim.api.nvim_set_option('relativenumber', true)
vim.cmd('augroup numbertoggle')
vim.cmd('autocmd!')
vim.cmd('autocmd BufEnter,FocusGained,InsertLeave * :set relativenumber')
vim.cmd('autocmd BufLeave,FocusLost,InsertEnter * :set norelativenumber')
vim.cmd('autocmd BufLeave,FocusLost,InsertEnter * :set number')
vim.cmd('augroup end')
-- Change aspect if in insert mode or not
vim.cmd('highlight Cursorline cterm=NONE gui=NONE guibg=NONE')
vim.cmd('autocmd InsertEnter * highlight Cursorline cterm=underline gui=underline')
vim.cmd('autocmd InsertLeave * highlight Cursorline cterm=NONE gui=NONE')