Я хочу использовать команду оболочки (в данном случае fmt ) для работы с каждой (не) совпадающей строкой регулярного выражения в файле. Я бы предпочел сделать это в vim ! Тем не менее, я открыт для решения чистой оболочки /bash /zsh, поскольку vim предлагает :! также.

Можно ли совместить

:g/pattern/[cmd]

с командой оболочки, которая выполняется на совпадающих строках? Что-то вроде

:g/pattern/!fmt -w 72

не работает.

1 ответ1

1

Я нашел ответ! Ты можешь использовать

:g!/^ /:.!fmt -w 40

или без ! использовать эту команду оболочки на найденные строки. Это, однако, будет работать только с одиночными строками, поэтому не будет удалять разрывы строк, просто добавляйте новые. Если кто-то может улучшить это, не стесняйтесь отправлять как :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .