Я редактирую код Python с помощью Vim.
С tabключом я получаю четыре пробела для отступа. Как я могу удалить эти пробелы одним ударом «Backspace» (?) Вместо четырех?
Для этого должна быть какая-то опция "set" ...
Вот мой .vimrc:
set autoindent
set ts=4
set sw=4
set et
ТЛ; др:
set tabstop=4 softtabstop=-1 shiftwidth=0 expandtab
короткая форма:
set ts=4 sts=-1 sw=0 et
объяснение
Если вы установите
softtabstop
(илиsts
) на-1
него, он будет автоматически вести себя так же, какtabstop
(ts
), что избавит вас от хлопот, если вы сильно измените вкладки. Параметрshiftwidth
(sw
)0
должен эффективно делать то же самое,tabstop
что и.В деталях
shiftwidth
sw
tabstop
ts
softtabstop
sts
expandtab
et
источник
Я написал GreedyBackspace.vim для тех, кто хотел что-то подобное. Лично я не пользуюсь им, так что я давно его обновил. Я не получал сообщений об ошибках в последнее время, хотя.
источник
Несколько вариантов:
источник
Самый простой способ
<<
, повторите с.
источник
Вы проверили, используя настройки расширенных вкладок в VIM?
Я обычно предпочитаю держать вкладки во время работы с файлами.
Когда это требуется, я заменяю вкладки на 4 пробела или столько, сколько требуется.
В качестве небольшого бонуса, ваш исходный файл короче на 3 символа за вкладку
:-)
источник
Я не думаю, что есть выход. После того, как клавиша табуляции расширена до четырех пробелов, vim не может знать, что они когда-либо были табуляцией.
источник