Я использую Vim formatoptions +=a
как описано в Vim: перенос слов для документов для автоматического форматирования строк при написании документов, особенно документов Markdown.
Моя проблема в том, что Vim хочет переформатировать также списки маркеров, потому что между каждой точкой маркера есть пустая строка.
Что радует, что VIM переформатирует
This is wath we will do:
* task 1,
* task 2,
* task 3.
в
This is wath we will do:
* task 1, task 2, task 3.
(Я также не понимаю, почему звездочки исчезают в процессе переформатирования.)
Как я могу заставить Vim перестать переформатировать эти списки?
Ответы:
Попробуй это:
n
кformatoptions
так Vim распознает списки (:set fo+=n
)formatlistpat
опцию для распознавания звездочки как маркеров (set flp+=\\\|^\\*\\s*
) (обратите внимание, что количество обратных слешей зависит от вашегоmagic
уровня ness).По моим тестам он не идеален, но, похоже, близок.
источник
filetype
Установлен ли параметр вmarkdown
момент редактирования файлов Markdown? Вы можете использовать:verbose set filetype?
для проверки текущего значения.После запуска
:filetype plugin on
(например , от вашего.vimrc
), иfiletype
установлен наmarkdown
, Vim будет источник ,$VIMRUNTIME/ftplugin/markdown.vim
который будет установить некоторые опции (comments
,formatlistpat
иformatoptions
) , которые должны помочь с форматированием Markdown элементов списка.Примечание. Общий шаблон имени файла Markdown
*.md
фактически сопоставляется с типом файла сmodula2
помощью$VIMRUNTIME/filetype.vim
. Вы можете переопределить этот параметр, если вы обычно используете этот шаблон имени файла для ваших файлов Markdown. Вы можете сделать это, поместив это в свой.vimrc
файл:В качестве альтернативы, вы можете добавить моделину к каждому файлу:
источник
vim-markdown
плагина должно быть достаточно, но вам нужно включить его функциональность (и других плагинов файлового типа) с помощью:filetype plugin on
. См:help :filetype-plugin-on
.