我一直在我的 .vimrc 中使用以下技术来删除行尾的多余空格...
autocmd BufWritePre * :%s/\s\+$//e
但我意识到我不希望 Markdown 文件(例如.md
or 或.markdown
)发生这种情况,所以我有以下 VimScript ......
fun! StripTrailingWhiteSpace()
" don't strip on these filetypes
if &ft =~ 'md\|markdown'
return
endif
%s/\s\+$//e
endfun
autocmd bufwritepre * :call StripTrailingWhiteSpace()
但这仍然会删除所有文件的空格。
所以我然后尝试了以下(这似乎更好,因为它更短)......
let blacklist = ['md', 'markdown']
autocmd BufWritePre * if index(blacklist, &ft) < 0 | :%s/\s\+$//e
但是,这仍然会删除所有文件的空格?
这些技术似乎都不起作用?他们将空格留在文件中吗?
关于如何做到这一点的任何想法(目前我不得不在单独的写作应用程序而不是 Vim 中编辑 Markdown 文件,这很烦人)。