3

Я часто пишу текст с таким форматом в Vim.

- talking point 1

- talking point 2 ....
continue on point 2

В идеале, я надеюсь, что Vim сможет автоматически настроить его для меня, например:

- talking point 1

- talking point 2 
  continue on point 2

Это возможно?

4 ответа4

4

У меня есть это в моем .vimrc:

set comments=s1:/*,mb:*,ex:*/,://,b:#,:%,:XCOMM,n:>,fb:-,fb:[+],fb:[x],fb:[-]

Если я правильно помню, добавьте эту строку в ваш .vimrc, и работа будет выполнена:

set comments +=fb:-

Для подробного объяснения попробуйте:

:help comments
2

Если у вас установлен флаг n в formatoptions (например, с помощью set fo+=n), Vim уже знает, как форматировать списки с помощью числовых маркеров. formatlistpat (короткое имя flp) - это регулярное выражение, которое Vim использует для сопоставления, поэтому вам нужно улучшить это регулярное выражение. Это должно помочь вам (но только добавляет поддержку - bullets):

set formatlistpat=^\\s*\\(\\d\\+[\\]:.)}\\t\ ]\\|-\\)\\s*

Извините за головную боль там. Делаете set flp? более четко показывает, как выглядит регулярное выражение:

formatlistpat=^\s*\(\d\+[\]:.)}\t ]-\)\s*

Для получения дополнительной информации см. Этот пост.

0
:set smartindent

если вам нужен vim, чтобы разорвать строку раньше, чем добавить

:set tw=30

или сколько угодно символов в строке.

0

Смотрите также: http://www.adp-gmbh.ch/vim/formatting/indenting_bullets.html

Но также убедитесь, что smartindent/cindent также не установлены.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .