在Git中提交一些文件时,我得到了“尾随空白”错误。

我想在保存Python文件之前自动删除这些尾随的空白字符。

您可以配置Vim来实现这一点吗?如果有,怎么做?


当前回答

我在评论中看到了这个解决方案 删除不需要的空格

我真的很喜欢。添加。在多余的空白上。

把这个放到你的。vimrc里

" Removes trailing spaces
function TrimWhiteSpace()
  %s/\s*$//
  ''
endfunction

set list listchars=trail:.,extends:>
autocmd FileWritePre * call TrimWhiteSpace()
autocmd FileAppendPre * call TrimWhiteSpace()
autocmd FilterWritePre * call TrimWhiteSpace()
autocmd BufWritePre * call TrimWhiteSpace()

其他回答

下面是一种通过多个FileType进行过滤的方法。

autocmd FileType c,cpp,python,ruby,java autocmd BufWritePre <buffer> :%s/\s\+$//e

我在这里找到了答案。

在我的.vimrc文件中添加以下内容就成功了:

autocmd BufWritePre *.py :%s/\s\+$//e

末尾的标志表示如果搜索模式失败,该命令不会发出错误消息。。更多信息请参见:h:s_flags。

我在评论中看到了这个解决方案 删除不需要的空格

我真的很喜欢。添加。在多余的空白上。

把这个放到你的。vimrc里

" Removes trailing spaces
function TrimWhiteSpace()
  %s/\s*$//
  ''
endfunction

set list listchars=trail:.,extends:>
autocmd FileWritePre * call TrimWhiteSpace()
autocmd FileAppendPre * call TrimWhiteSpace()
autocmd FilterWritePre * call TrimWhiteSpace()
autocmd BufWritePre * call TrimWhiteSpace()

autocmd BufWritePre *: % s / \ \ + $ / / < CR >:让@ / = " < CR >

我通常也有一个:

match Todo /\s\+$/

在我的.vimrc文件中,使行末空格高亮显示。

Todo是一个语法高亮组名,用于高亮Todo、FIXME或XXX等关键字。它有一个讨厌的丑陋的黄色背景色,我发现它是最好的突出你不想在你的代码中的东西:-)