Vim: отступ текущей (пустой) строки и вставка - PullRequest
14 голосов
/ 15 сентября 2010

Скажем, у меня есть текущий текст в буфере, где _ отмечает курсор

int main(int argc, char **argv) {
    printf("Hello, world!\n");

_
}

У меня есть indentexpr (хотя решение с cindent или autoindent, вероятно, будет работатьтоже).

Как мне начать вставку, чтобы мой курсор помещался в соответствующий столбец, чтобы следовать правилам отступа, например:

int main(int argc, char **argv) {
    printf("Hello, world!\n");

    _
}

В настоящее время я часто использую ddO(или ddo в конце буфера), но, похоже, должен быть лучший способ.Использование == или даже >> или v> не похоже на работу, поскольку строка пуста.

Ответы [ 2 ]

27 голосов
/ 15 сентября 2010

Попробуйте вернуться в обычный режим и наберите S

6 голосов
/ 15 сентября 2010

Если я нахожусь на пустой строке, но в неправильной точке вставки, я склонен использовать CTRL-f (в режиме вставки), чтобы сделать отступ в правильном месте.

Это полезно, когда я нажал ESC, чтобы выйти из режима вставки, а затем потерял правильный отступ. Удар i с последующим CTRL-f делает трюк.

...