使用 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()
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,
})