vim: Как объединить открытые / закрытые скобки без пробелов
Я немного озадачен форматированием фигурных скобок. Предположим, у меня есть следующий текст:
[
(
{
text
}
)
]
Чтобы объединить все строки, я нажал JJJ...
и я получил:
[ ( { text }) ]
Это нормальное поведение? Почему Vim не присоединяется (
без пробелов, тогда как он подавляет пустое пространство для )
?
2 ответа
Решение
От :help J
(прокрутите немного вниз или немного вверх от :help replacing
):
These commands, except "gJ", insert one space in place of the <EOL> unless
there is trailing white space or the next line starts with a ')'. These
commands, except "gJ", delete any leading white space on the next line.
Я не уверен, почему это работает таким образом - возможно, это удобно для редактирования C - но это хорошо задокументировано.
Ты должен нажать gJ
вместо J
:h gJ
и есть :join
команда. вам нужно прочитать :h join
по вашему требованию вы можете:
:%j!
или сначала выберите строки, затем::'<,'>j!
(vim автоматически заполнит диапазон '<,'>
)