Как вы можете заставить vim обернуть маркированный текст с отступом?

в 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 ответов


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

настройки нужно добавить fb:*, в котором говорится, что есть тип комментария, который начинается с * и * должен сопровождаться пробелом и находится только в первой строке комментария. С остальным разбирается ВИМ. Однако, обратите внимание, что настройки по умолчанию включают * как середина многострочного комментария C, поэтому вам нужно будет отключить это.

если дефис с префиксом и звездочка-префиксные строки-это единственные, которые вы хотите работать так, сделайте это:

set comments=fb:-,fb:*

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

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

setlocal comments=fb:-,fb:*

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