每次我用 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
嘗試將 textwidth 設為 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! }