Mitafter/ftplugin/mail.vim

Mitafter/ftplugin/mail.vim

Jedes Mal, wenn ich mit mutt eine E-Mail schreibe, fügt es diese Zeilenumbrüche etwa alle 70 Zeichen ein. Mir wäre es lieber, wenn es stattdessen einfach auf Zeilenumbruch setzen würde, da mein Bearbeitungsstil (viele Überarbeitungen) das Neuformatieren mühsam macht. Gibt es eine Möglichkeit, dies in muttrc einzurichten?

Antwort1

Sie können die editorOption in Ihrer .muttrcOption festlegen und Befehlszeilenoptionen einschließen. Die Befehlszeilenoptionen können Vim-Einstellungen festlegen. Ein Beispiel wäre:

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

oder

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

Und so weiter und so fort. Siehe dievim-Manpagefür viele weitere Optionen.

Antwort2

Ein anderer Ansatz besteht darin, mit dem CLI-Flag von Vim eine zusätzliche Quelldatei nur für Mutt anzugeben -S:

Hier ist der Wert des Editors in meiner .muttrc:

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

Und hier ist meine ~/.mutt/vimrc:

set textwidth=0
set wrapmargin=0

Antwort3

Versuchen Sie, die Textbreite auf 0 zu setzen:

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

Antwort4

Mitafter/ftplugin/mail.vim

Verwenden vonHamish Downers Lösungseit langem in Neovim, ist mir heute aufgefallen, dass die Textbreite zurückgesetzt wird, nachdem im selben Fenster ein Puffer (eine andere Datei, in der ich in meinem Fall E-Mail-Adressen speichere) geöffnet wurde.

Ich denke, der Grund liegt darin, dass das Standard-Dateityp-Plugin /usr/share/nvim/runtime/ftplugin/mail.vimgeladen wird, das die Textbreite auf 72 setzt:

" 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

Um dieses Problem zu lösen, habe ich die Zeile set editor="vim +':set textwidth=0' +':set wrapmargin=0' +':set wrap'"aus meinem Muttrc entfernt und stattdessen ein benutzerdefiniertes Dateityp-Plugin erstellt, das ~/.config/nvim/after/ftplugin/mail.vimnur aus dieser Zeile besteht:

setlocal textwidth=0

Im Allgemeinen werden die Dateien in after/ftplugin/nach den Konfigurationen in bezogen und /usr/share/nvim/runtime/fpgpluginüberschreiben diese effektiv.

Ich finde das auch etwas sauberer als die set editor=Methode und es hat den Vorteil, dass Neovim diese Konfiguration für alle Dateien vom Typ Mail verwendet. Dies sorgt für konsistente Einstellungen beim Schreiben von Mails mit anderen Clients als Mutt.

Außerdem kann ich die Konfiguration jetzt auf mehreren Zeilen darstellen und Kommentare hinzufügen:

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

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

verwandte Informationen