每次我用 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 中编辑器的值:
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
使用Hamish Downer 的解决方案在 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! }