#vim
Вопрос:
Иногда я сталкиваюсь с подобным кодом, например, после уменьшения количества параметров в функции:
def foo(
arg1,
arg2):
# do something
Разбиение списка параметров таким образом могло бы иметь смысл, когда было много длинных аргументов, но теперь я хочу, чтобы текст выглядел так:
def foo(arg1, arg2):
# do something
Для меня это обычно означает переход к началу arg1
, переход в режим вставки и нажатие клавиши backspace до тех пор , пока я не удалю параметр, а затем повторение для arg2
.
Эти ситуации слишком малы, чтобы гарантировать настройку макроса или даже использование sed. Есть ли комбинация клавиш vim
, которую я могу использовать, чтобы просто удалить все пробелы (включая разрывы строк) между открывающей скобкой foo
и первой буквой arg1
?
Пример-python, но на самом деле это не вопрос, касающийся конкретного языка.
Комментарии:
1. Почему бы не использовать
black
? При сохранении он должен быть отформатирован следующим образом2. @yudhiesh Круто, я об этом не слышал. Я искал решение, не зависящее от языка, но
black
все равно это интересное предложение.3. Да, я использую его с coc-pyright .
Ответ №1:
Для меня это обычно означает переход к началу
arg1
, переход в режим вставки и нажатие клавиши backspace до тех пор , пока я не удалю параметр, а затем повторение дляarg2
.
Или, проще говоря, JxJJ
.
Но, согласно комментариям, использование внешнего форматера-довольно разумная идея.
" in after/ftplugin/python.vim
set formatprg=black-3.8 -q -
Видишь :help J
, :help gq
.