mxmehlの答えのより堅牢な代替手段。
filetype=mail
Vim を使用すると、ヘッダーが強調表示されます。
構文情報を使用して、行がヘッダーかどうかを判別し、それに応じてテキスト幅を設定できます。
ヘッダの構文名はmailHeaderKey
、mailSubject
、mailHeaderEmail
、とmailHeader
。私はを見てこれを見つけました/usr/share/vim/vim74/syntax/mail.vim
。
私がこのソリューションを好む理由は、任意の行番号に依存しないことですが、1つのヘッダーと20のヘッダーを持つ電子メールに対しても同じように正しく機能します。
augroup filetypes
autocmd!
autocmd FileType mail call s:mail()
augroup end
" Set up ft=mail
fun! s:mail()
augroup ft_mail
autocmd!
autocmd CursorMoved,CursorMovedI *
\ if index(["mailHeaderKey", "mailSubject", "mailHeaderEmail", "mailHeader"], synIDattr(synID(line('.'), col('.'), 1), 'name')) >= 0
\| setlocal textwidth=500
\| else
\| setlocal textwidth=72
\| endif
augroup end
endfun
textwidth
バッファ全体に適用されます。