使用Lua中的Neovim自动命令,您可以在保存文件时修剪行末的空白。
在以下代码中,此自动命令仅用于某些已定义的文件类型(C/C++、Lua、Java…)。你可以使用
pattern='*'
在每个文件上运行这个自动命令。将其添加到您的Lua配置中。
vim.api.nvim_create_autocmd('FileType', {
group = vim.api.nvim_create_augroup('trim_whitespaces', { clear = true }),
desc = 'Trim trailing white spaces',
pattern = 'bash,c,cpp,lua,java,go,php,javascript,make,python,rust,perl,sql,markdown',
callback = function()
vim.api.nvim_create_autocmd('BufWritePre', {
pattern = '<buffer>',
-- Trim trailing whitespaces
callback = function()
-- Save cursor position to restore later
local curpos = vim.api.nvim_win_get_cursor(0)
-- Search and replace trailing whitespaces
vim.cmd([[keeppatterns %s/\s\+$//e]])
vim.api.nvim_win_set_cursor(0, curpos)
end,
})
end,
})