require('smoothcursor').setup { cursor = '▷', texthl = 'Text', disable_float_win = true, } -- ref: https://github.com/delphinus/dotfiles/blob/2ac7f4685f4d753bddc688766ca7b8018bd52d94/.config/nvim/lua/lazies/start.lua#L96-L113 vim.api.nvim_create_autocmd({ 'ModeChanged' }, { callback = function() local current_mode = vim.fn.mode() if current_mode == 'n' then vim.fn.sign_define('smoothcursor', { text = '▷' }) elseif current_mode == 'i' then vim.fn.sign_define('smoothcursor', { text = '▶' }) elseif current_mode == 'v' then vim.fn.sign_define('smoothcursor', { text = '═' }) elseif current_mode == 'V' then vim.fn.sign_define('smoothcursor', { text = '║' }) elseif current_mode == '' then vim.fn.sign_define('smoothcursor', { text = '╬' }) elseif current_mode == 'R' then vim.fn.sign_define('smoothcursor', { text = '⟩' }) end end, })