删除保存时在 nvim 中添加的空格

问题描述 投票:0回答:1

我正在使用 LazyVim 来配置 neovim,我已经关闭了保存格式,现在当我保存时,空白会添加到我不想要的特定位置。如何阻止在保存时添加这些空格

neovim
1个回答
0
投票

使用 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,
})
© www.soinside.com 2019 - 2024. All rights reserved.