Vim, эквивалентный Emacs C-i?

Vim имеет команду эквивалентной Ctrl-I Emacs?

Emacs имеет чрезвычайно полезный ярлык "C-I", который фиксирует добавление отступа текущей строки (или выбранные строки.)

Например, предположите написание этого крошечного кода на Emacs:

    def foo
  print "boo"
end

и Вы выбираете целые 3 строки. Вы нажимаете "C-I" затем, код становится

def foo
  print "boo"
end

Я могу использовать это в тихом режиме т.е. игнорировании. Emacs также. Кто-либо знает, как сделать это на Vim?

2
задан 21.10.2013, 12:39

4 ответа

возможно, существуют другие пути, но попытка:

=
3
ответ дан 08.12.2019, 04:41

Ответы на этот вопрос: https://stackoverflow.com/questions/235839/how-do-i-indent-multiple-lines-quickly-in-vi предлагает несколько способов сделать отступ.

Можно искать ={ располагать Ваш текущий блок кода с отступом.

3
ответ дан 08.12.2019, 04:41

Спасибо за всю Вашу справку. Я действительно ценю его. Но на самом деле я нашел решение:

В vimrc Вы будете видеть код ниже в около L37-39:

"if has("autocmd")
"  filetype plugin indent on
"endif

и тем самым удалите " в начале каждой строки для включения этой установки. Теперь автоматический отступ и работа фиксации добавления отступа!

Как Случайный Кодер говорит, когда Вы хотите зафиксировать добавление отступа в текущей строке, нажать = (в Emacs C-h.) Также можно объединить это с выбором команд как gg=G (в Emacs, C-x h C-i) для целого кода и C-v (Визуальный Блочный режим) было бы удобно.

(Код кода, который я записал в вопросе, написан в Ruby. Мой Vim, который я загрузил с репозитория Ubuntu, идет с конфигурационным файлом отступа Ruby (/usr/share/vim/vim72/indent/ruby.vim) и таким образом, Вы не должны становиться "рубиновыми энергией".)

2
ответ дан 08.12.2019, 04:41

В режиме вставки Ctrl+F повторно располагает текущую строку с отступом. Привязка клавиш может быть изменена путем установки cinkeys

4
ответ дан 08.12.2019, 04:41

Теги

Похожие вопросы