Как я могу заставить Mutt перестать делать разрывы строк в Vim каждые несколько символов?

Каждый раз, когда я набираю письмо с помощью mutt, он вставляет эти разрывы строк каждые 70 символов или около того. Я бы предпочел, чтобы он просто полагался на перенос слов, так как мой стиль редактирования (много пересмотра) делает переформатирование болью. Есть ли способ установить это в muttrc?

5
задан 13 October 2011 в 05:53

4 ответа

Вы можете установить параметр 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 , чтобы узнать о многих других опциях.

0
ответ дан 13 October 2011 в 05:53

Другой подход состоит в том, чтобы указать дополнительный исходный файл только для mutt с флагом vim -S cli:

Вот значение редактора в моем .muttrc:

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

И тогда вот мой ~ / .mutt / vimrc:

set textwidth=0
set wrapmargin=0
0
ответ дан 13 October 2011 в 05:53

Попробуйте установить ширину текста на 0:

; ~/.vimrc
:set textwidth=0
:set wrapmargin=0
0
ответ дан 13 October 2011 в 05:53

с после/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 и вместо этого создал собственный файл введите plugin в ~/.config/nvim/after/ftplugin/mail.vim, состоящий только из этой строки:

setlocal textwidth=0

Как правило, файлы в after/ftplugin/ берутся после конфигурации в /usr/share/nvim/runtime/fpgplugin, фактически перекрывая их.

Я также считаю, что это немного чище, чем метод set editor=, и в результате Neovim будет использовать эту конфигурацию для всех файлов типа mail. Это обеспечивает согласованные настройки при написании писем с другими клиентами, кроме Mutt.

Кроме того, теперь я могу иметь конфигурацию на нескольких строках и добавлять комментарии:

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

setlocal textwidth=0
" Jump over first paragraph (useful when muttrc contains set edit_headers)
normal! }
0
ответ дан 24 December 2020 в 12:22

Другие вопросы по тегам:

Похожие вопросы: