В то время как Vim поддерживает автоматическое расположение с отступом в списках, настройка по умолчанию только покрывает заказанные списки, начиная с цифр, таких как:
1. Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
2. veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
commodo consequat.
Я не смог выяснить, как расширить это до незаказанного, маркированных списков, таких как:
* Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod
tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim
* veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea
commodo consequat.
Изменение formatlistpat
RegEx не привел к желаемым результатам (действительно, он даже повредил заказанные списки).
Знание, к чему Вы пытались установить значение, поможет, но я предполагаю, что Вы правильно не вышли из обратных косых черт.
Значение по умолчанию
formatlistpat=^\s*\d\+[\]:.)}\t ]\s*
но на самом деле устанавливать то значение (в Вашем vimrc или в cmdline) необходимо использовать
set formatlistpat=^\\s*\\d\\+[\\]:.)}\\t\ ]\\s*
В этом объясняют :help option-backslash
. Простая модификация для разрешения formatlistpat
работать с *
разграниченные, незаказанные списки были бы
set formatlistpat=^\\s*[0-9*]\\+[\\]:.)}\\t\ ]\\s*
Я испытал некоторые затруднения при получении списков как a)
распознанный, таким образом, я отправлю свое решение здесь:
" Recognise lists like 1), 1., a), a., and so on
" Note that | need to be escaped AND preceeded by a literal backslash
set formatlistpat=^\\s*\\([0-9]\\+\\\|[a-z]\\)[\\].:)}]\\s\\+
В дополнение к тому, что записал jamessan (в особенности его formatlistpat
предложение для работы с * списки), важно иметь 'c' опцию (форматирование комментария) сброс в formatoptions
:
set formatoptions-=c
иначе Vim запутывается между форматированием * маркированные списки и форматированием комментариев. Вы заканчиваете с дополнительным * на 2-м и после строк.