Как заставить vim обернуть маркированный текст отступом? - PullRequest
9 голосов
/ 24 января 2011

В vim я могу напечатать такую ​​строку:

- When in the Course of human events it becomes necessary for one people
  to dissolve the political bands which have connected them with another
  ...

, и vim обернет текст так, чтобы он выровнялся по правому краю черты.Но если я попытаюсь сделать это со звездочкой, вот что произойдет:

* When in the Course of human events it becomes necessary for one people
to dissolve the political bands which have connected them with another ...

Есть ли способ заставить автоиндентировать работать с ведущей звездочкой так же, как для ведущей черты?

1 Ответ

11 голосов
/ 24 января 2011

Это делается с помощью настройки comments (см. :help 'comments' и :help format-comments).

Параметр, который нужно добавить, - fb:*, который говорит, что существует тип комментария, начинающийся с *, и после * должен стоять пробел, и он находится только в первой строке комментария. Vim обрабатывает все остальное. Однако обратите внимание, что настройки по умолчанию включают * в качестве середины многострочного комментария C, поэтому вам необходимо отключить это.

Если строки с префиксом дефиса и с префиксом звездочки являются единственными, которые вы хотите работать следующим образом, сделайте следующее:

set comments=fb:-,fb:*

Либо измените настройку комментариев по умолчанию так, как вам нравится: :set comments? показывает текущую настройку, а :help format-comments объясняет, что все это значит.

Если вы хотите, чтобы это было специфично для типа файла, создайте файл в ~/.vim/ftplugin (или vimfiles в Windows) с именем файла как extension.vim (например, txt.vim для .txt файлов). В этот файл положено:

setlocal comments=fb:-,fb:*

Это позволит настроить параметр comments для соответствующего типа файла, не затрагивая другие файлы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...