とafter/ftplugin/mail.vim

とafter/ftplugin/mail.vim

mutt でメールを入力するたびに、約 70 文字ごとに改行が挿入されます。私の編集スタイル (修正が多い) では再フォーマットが面倒なので、代わりに単語の折り返しに頼りたいのですが。muttrc でこれを設定する方法はありますか?

答え1

editorオプションでオプションを設定し.muttrc、コマンドライン オプションを含めることができます。コマンドライン オプションは vim の設定を設定できます。例は次のようになります。

set editor="vim +':set textwidth=0' +':set wrapmargin=0' +':set wrap'"

または

# use vim, tell it to set cursor on first line of body
set editor="vim -c 'set expandtab textwidth=65 | normal }j'"

などなど。vim マニュアルページさらに多くのオプションがあります。

答え2

-S別の方法としては、vim のcli フラグを使用して、mutt 専用の追加のソース ファイルを指定する方法があります。

私の .muttrc の editor の値は次のとおりです。

set editor="vim -S ~/.mutt/vimrc"

そして、これが私の ~/.mutt/vimrc です:

set textwidth=0
set wrapmargin=0

答え3

テキスト幅を 0 に設定してみてください:

; ~/.vimrc
:set textwidth=0
:set wrapmargin=0

答え4

after/ftplugin/mail.vim

使用ハミッシュ・ダウナーの解決策Neovim で長い間使用していたのですが、今日、同じウィンドウでバッファ (私の場合は電子メール アドレスを保存している別のファイル) を開いた後、テキストの幅がリセットされることに気付きました。

理由は、デフォルトのファイル タイプ プラグイン/usr/share/nvim/runtime/ftplugin/mail.vimが読み込まれ、テキストの幅が 72 に設定されているためだと思います。

" Part of /usr/share/nvim/runtime/ftplugin/mail.vim

" many people recommend keeping e-mail messages 72 chars wide
if &tw == 0
  setlocal tw=72
endif

set editor="vim +':set textwidth=0' +':set wrapmargin=0' +':set wrap'"この問題を解決するために、 muttrc から行を削除し、代わりに~/.config/nvim/after/ftplugin/mail.vim次の行のみで構成されるカスタム ファイル タイプ プラグインを作成しました。

setlocal textwidth=0

通常、 のファイルはafter/ftplugin/の構成の後にソース化され/usr/share/nvim/runtime/fpgplugin、実質的に の構成を上書きします。

これは、方法よりも少しクリーンset editor=で、Neovim がメール タイプのファイルすべてにこの設定を使用するという結果をもたらすと思います。これにより、Mutt 以外のクライアントでメールを書き込むときに一貫した設定が実現します。

また、構成を複数行に渡って記述し、コメントを追加できるようになりました。

" Contents of ~/.config/nvim/after/ftplugin/mail.vim

setlocal textwidth=0
" Jump over first paragraph (useful when muttrc contains set edit_headers)
normal! }

関連情報