我在vimrc
中使用此代码段突出显示所有文件的尾随空格:
hi link TrailingWhiteSpace Search
au BufWinEnter * let w:twsm=matchadd('TrailingWhiteSpace', '\s\+$')
" Setup a toggle.
nnoremap <silent> <Leader>w
\ :if exists('w:twsm') <Bar>
\ silent! call matchdelete(w:twsm) <Bar>
\ unlet w:twsm <Bar>
\ else <Bar>
\ let w:twsm = matchadd('TrailingWhiteSpace', '\s\+$') <Bar>
\ endif<CR>
但是我也在Vim写电子邮件,因为我使用Mutt并使用format=flowed来避免硬换行。我在muttrc
set text_flowed=yes
并在我的vimrc
augroup ft_mail
au!
au FileType mail setlocal fo+=aw
augroup END
实现这一点。
这给了我Vim中的视觉换行符,但没有在实际的电子邮件中引入硬换行符。然而,这种设置(以及一般的电子邮件)往往在各个地方都有尾随空格,我很好,所以我不想强调它。
如何在编写电子邮件时停止追踪空白?如果有帮助,我会更好地突出显示空格。
答案 0 :(得分:2)
您可以引入缓冲区本地b:IgnoreTrailingWhitespace
变量,在~/.vim/ftplugin/mail.vim
中设置该变量,并在您的autocmds中通过exists('b:IgnoreTrailingWhitespace')
进行考虑。
或者,看看我的ShowTrailingWhitespace plugin;它具有内置的功能,甚至包含mail
文件类型(以及其他)的例外!