Отступы для маркированных списков в виде простого текста в Vim

3338
Oliver

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

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

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

- talking point 1  - talking point 2  continue on point 2 

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

3

4 ответа на вопрос

5
vbd

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

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

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

set comments +=fb:-

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

:help comments
Вторая строка сделала это для меня. Hugo 11 лет назад 0
2
Kazark

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

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

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

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

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

0
akira
:set smartindent 

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

:set tw=30 

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

0
macetw

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

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

Добро пожаловать в Супер пользователя! Хотя это может теоретически ответить на вопрос, [было бы предпочтительнее] (http://meta.stackexchange.com/q/8259) включить сюда основные части ответа и предоставить ссылку для справки. Peachy 11 лет назад 1