Vim: стойкие отступы

Я имею set smartindent в моем файле конфигурации Vim, но есть один аспект автоматической вставки вкладок в Vim, который я хотел бы изменить. Скажем, например, что я начинаю набирать цикл for:

1. for (auto& foo : bar) {
2.

После того, как я нажал return, Vim любезно вставляет вкладку в начало строки 2, именно так, как я хочу. Но если вы поймете, что мне нужно перейти в другое место файла, чтобы что-то изменить, а затем вернуться к строке 2, вкладка больше не будет. Пару нажатий на вкладку время от времени не имеет большого значения, поскольку, когда я пишу сложный алгоритм с большим количеством отступов, необходимость нажимать клавишу Tab несколько раз может расстраивать.

Что было бы лучшим решением для того, чтобы Vim фактически записывал вкладку в текущий буфер при выполнении автоматического отступа, вместо того, чтобы давать мне возможность вставлять вкладку только при нажатии возврата из предыдущей строки?

Спасибо за вашу помощь!

1 ответ

Это похоже на намеренно разработанное поведение. Когда пользователь отпрыгнет, вернитесь на прежнее место (Line 2), original tabs потерял. Вместо перехода на строку 2 пользователь может перейти на Line 1и нажмите o, пользователь получит автоматически добавленную новую строку 2. В то же время пользователь может использовать все возможности, которые предлагает Vim для map или даже vimscript новый способ сохранить old tabs, Этим я восхищаюсь дизайном Vi/Vim.

Короче, когда отскочил назад Line: 1.нажмите o. New indented Line 2. появляется.

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