Как переместить курсор на правильный уровень отступа, не выходя из режима вставки?

14

Например, у меня есть этот код JavaScript. Символ |представляет позицию курсора, и он находится на пустой строке.

function a() {
    console.log("a");

    function b() {
        console.log("b");

        function c() {
            console.log("c");
        }
|
        c();
    }

    b();
}

После запрошенной операции содержимое будет выглядеть так:

function a() {
    console.log("a");

    function b() {
        console.log("b");

        function c() {
            console.log("c");
        }
        |
        c();
    }

    b();
}

То, что я прошу, это команда отображения.

Большое спасибо! :-)

silviubogan
источник

Ответы:

16

Как упомянуто @jamessan, <C-f>отступ в правильном месте из режима вставки. Вы также можете использовать <C-t>и <C-d>для увеличения или уменьшения уровня отступа в режиме вставки.

Однако вы можете избежать полного попадания в эту ситуацию, используя один из следующих методов:

  • Используйте o/, Oчтобы начать новую строку с предыдущей строки
  • Используйте cc/ Sдля редактирования строки (учитывает отступ)

Для получения дополнительной помощи см .:

:h cc
:h S
:h o
:h i_CTRL-T
:h i_CTRL-F
Питер Ринкер
источник
3
Кроме того, <C-f>обычно определяется в 'indentkeys'или 'cinkeys'(в зависимости от того, какой механизм отступа используется), что позволит вам повторно сделать текущую строку в том месте, где она должна быть, из режима вставки. Смотрите : help i_CTRL-F
jamessan
Обратите внимание, что вам нужно, :set cindentили эти ключи ничего не делают!
JonnyRaa