From 888573d42b011c54fced0339adc79969fface36d Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Fri, 19 May 2017 19:24:45 +0300 Subject: [PATCH] =?utf8?q?=D0=A4=D0=BE=D1=80=D0=BC=D0=B0=D1=82=D0=B8=D1=80?= =?utf8?q?=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20*-=D1=81=D0=BF=D0=B8?= =?utf8?q?=D1=81=D0=BA=D0=BE=D0=B2=20=D0=B2=20Vim?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Я годами немного мучался (до есть было не очень приятно что автоматика не срабатывает или работает не как надо) с ситуациями когда пишешь списки вида: * foo... baz * bar Автоматика считает что "*" является комментарием и после ввода * foo... и Enter он создаёт (> символ показывает где курсор): * foo... * > а хочется: * foo... > Но я как-то рефлекторно просто выделял всё звёздочки кроме первой визуальным вертикальным выделением и делал "r ". Но основная проблема это форматирование (gq команда) абзаца, где он делает: * foo... baz Эту проблему я решал так: писал весь текст без звёздочки в начале, но с двумя пробелами, форматировал, а потом просто "r*" вставлял звёздочку где надо. Минут за десять всё же добился результата который мне нужен был за счёт трёх команд в vimrc: set comments-=mb:* set formatlistpat=^\\s*\\*\ \\s* set formatoptions+=n Во-первых, говорим что звёздочка в начале строки не является комментарием. Да, это ломает наверное хорошую работу в языках типа C++ где есть /* ... * ... */ комментарии. Но я такие не использую и поэтому оно ничего не ломает. Во-вторых, говорим что список это сколько-то пробелов в начале строки, звёздочка, после неё пробел, а дальше возможно ещё пробелы. Это на самом деле переопределённый формат для понимания того, что такое нумерованный список. Я их не пишу и поэтому просто так вот упростил. В-третьих, добавляем учёт этих нумерованных списков (которые уже без цифр, а просто со звёздочкой) при форматировании текста. То бишь, из коробки Vim предоставляет все ручки управления для идеального поведения и решения двух проблем с этими списками у меня. А я думал что небось придётся делать какое-нибудь переопределение команды форматирования, где я удалю эту звёздочку, сделаю форматирование и снова её поставлю. То есть просто автоматизирую то, что делал руками. -- 2.50.0