Вопрос

Мой коллега использует ужасный редактор исходного кода, который оставляет странные комментарии по всему коду. В визуальной студии, я создал макрос, это просто складывает все эти комментарии блоки, поэтому я не должен их видеть.

Теперь я хотел бы сделать то же самое в Vim.

Это регулярное выражение совпадает с каждым из этих блоков:

/^.*\/\* EasyCODE.*\(\(\n.*\*\/\)\|\(\n.*\/\*.*\)\|\(\n\/\/.*\)\)*/

Теперь держу пари, что есть действительно хороший способ сложить все спички этой картины в Vim. Тем не менее, я достаточно новичок в Vim и не знаю, как это сделать.

Не могли бы вы помочь мне там?

Редактировать: Некоторые примеры:

Эти комментарии блоки всегда начинаются с /* EasyCODE. Отказ Иногда комментарий имеют закрытие */ Прямо на конце первой строки, иногда только на следующей строке. Следующие линии могут или могут не содержать дополнительные "/* EasyCODE... "блоки.

Один из этих блоков может выглядеть так

/* EasyCODE ) */
/* EasyCODE ( 0 
some text */
/* EasyCODE F */

или нравится это

/* EasyCODE V8 */
/* EasyCODE ( 0 */

или нравится это

/* EasyCODE > */

Как я уже сказал, вышеперечисленное Regeex ловит их всех.

Это было полезно?

Решение

Я не совсем понятен в деталях ваших блоков (отсюда комментарий о предоставлении примера), но вы можете использовать что-то вроде этого:

:set foldmarker=/\*\ EasyCODE,\*/
:set foldmethod=marker

Это настроит метод «маркера», который ищет определенные маркеры в коде, а затем он установит начальный маркер для /* EasyCODE и окончательный маркер */. Отказ Надеюсь, это даст вам что-нибудь, чтобы начать вас. Если вы можете опубликовать исходный файл образца, я могу предложить еще несколько советов.

:help folding
:help 'foldmarker'
:help 'foldmethod'
:help fold-marker
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top