Как я могу запретить Vim присоединяться к линиям, когда я использую gqG?

У меня плохая привычка писать строки кода, которые слишком длинны, поэтому я наконец-то дошел до установки "colorcolumn=101" и textwidth=100 в моем.vimrc.

Я хотел бы иметь возможность задним числом применять эти ограничения ширины строки к файлам, которые я уже написал, и я обнаружил, что запуск в верхней части файла и нажатие gqG в некотором роде помогает. Он будет правильно разделять слишком длинные строки, НО он также объединяет строки, если они умещаются в пределах 100 символов.

Так что если сначала у меня было:

import java.io.File;
import java.io.IOException;
import java.util.Map;

Это превратилось бы в:

import java.io.File; import java.io.IOException; import java.util.Map;

Я действительно не хочу, чтобы поведение присоединения к линии все же.

2 ответа

Решение

Кроме того, вы можете использовать внешнюю программу для форматирования вашего кода. Я бы предложил astyle (http://astyle.sourceforge.net/, а также в репозитории Ubuntu) в сочетании с плагином vim vim-autoformat (https://github.com/Chiel92/vim-autoformat).

Последний интегрирует первый в vim, так что astyle форматирует ваш код, когда вы нажимаете gqG,

Чтобы просто разбить длинные строки, вы можете сделать это для каждой строки индивидуально с gqq, Объедините это с условным выполнением только в строках длиннее 100 (:help /\%v) с :global, как это:

:%global/\%>100v/normal! gqq

Обратите внимание, что это может привести к синтаксическим ошибкам, например, при разрыве строк после // ... комментировать лидер.

Другие вопросы по тегам