From: martin f. krafft Date: Wed, 9 Apr 2025 08:44:50 +0000 (+0200) Subject: List mode handling how I like it X-Git-Url: https://git.madduck.net/etc/neovim.git/commitdiff_plain/b9365efa8dad7f3fc50b5821eaa4dbfdf9381f11?hp=395fd60ca5aa094cae48e95a8a191ce93d2b84b7 List mode handling how I like it --- diff --git a/.config/nvim/plugin/listmode.lua b/.config/nvim/plugin/listmode.lua new file mode 100644 index 0000000..a0a4c05 --- /dev/null +++ b/.config/nvim/plugin/listmode.lua @@ -0,0 +1,28 @@ +vim.opt.list = true +vim.opt.listchars = { tab = '⇝·', trail = '·', nbsp = '␣' } + +-- disable list mode when inserting stuff, otherwise keep it enabled, it's +-- useful (see also setting lcs) +listinsert = vim.api.nvim_create_augroup('listinsert', { clear = true }) +vim.api.nvim_create_autocmd('InsertEnter', { + desc = 'Disable list mode when starting to insert', + group = listinsert, + callback = function() vim.opt.list = false end +}) +vim.api.nvim_create_autocmd('InsertLeave', { + desc = 'Enable list mode when leaving insert mode', + group = listinsert, + callback = function() vim.opt.list = true end +}) +-- flag trailing spaces as error only when not inserting +tsperrorinsert = vim.api.nvim_create_augroup('tsperrorinsert', { clear = true }) +vim.api.nvim_create_autocmd('InsertEnter', { + desc = 'Disable highlighting trailing spaces in insert mode', + group = tsperrorinsert, + callback = function() vim.cmd([[match none /\s\+$/]]) end +}) +vim.api.nvim_create_autocmd('InsertLeave', { + desc = 'Enable highlighting trailing spaces outside of insert mode', + group = tsperrorinsert, + callback = function() vim.cmd([[match Error /\s\+$/]]) end +}) diff --git a/.gitignore.d/neovim b/.gitignore.d/neovim index 67f09bb..b07238f 100644 --- a/.gitignore.d/neovim +++ b/.gitignore.d/neovim @@ -1,5 +1,6 @@ * !/.config/nvim/autoload/plug.vim !/.config/nvim/init.lua +!/.config/nvim/plugin/listmode.lua !/.config/nvim/plugin/vim-artesanal.lua !/.gitignore.d/neovim