Ответы:
Вы можете использовать Ctrl+Dдля резервного копирования одной остановки табуляции. Это фактически перемещает всю строку влево на одну позицию табуляции; Ctrl+Tделает то же самое с правой стороны. Обратите внимание, что эти нажатия клавиш работают только в режиме вставки (используйте <<
и >>
для эквивалента в командном режиме).
ТЛ; др: 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
Количество пробелов для каждого шага (авто) отступа. Используется для
cindent
, >>, <<и т.д.
Когда нульtabstop
значение будет использовано.
tabstop
ts
Количество пробелов, которые в файле учитываются. Также см . : команда retab и
softtabstop
опция.
softtabstop
sts
Количество пробелов, которые Tabучитываются при выполнении операций редактирования, таких как вставка Tabили использование BS. Такое ощущение, что Tabs вставляются, хотя на самом деле используется сочетание пробелов и s. Это полезно, чтобы сохранить
tabs
настройку is в ее стандартном значении, в то же время имея возможность редактировать, как установленоsts
. Когдаsts
отрицательно, используется значениеshiftwidth
. Это избавит вас от хлопот, если вы сильно меняете табуляции. Еслиexpandtab
не установлено, количество пробелов минимизируется с помощью Tabs.
expandtab
et
В режиме вставки: используйте соответствующее количество пробелов для вставки. Пространства используются в абзацах с >и <команд , и когда
autoindent
включен. Чтобы вставить реальную вкладку, когдаexpandtab
она включена, используйте Ctrl- V Tab. Смотрите также : retab
Я написал GreedyBackspace.vim для тех, кто хотел что-то подобное. Лично я не пользуюсь им, так что я давно его обновил. Я не получал сообщений об ошибках в последнее время, хотя.
Несколько вариантов:
Самый простой способ <<
, повторите с.
Вы проверили, используя настройки расширенных вкладок в VIM?
:set noet
Я обычно предпочитаю держать вкладки во время работы с файлами.
Когда это требуется, я заменяю вкладки на 4 пробела или столько, сколько требуется.
:%s/<ctrl+V><tab>/ /g
----
В качестве небольшого бонуса, ваш исходный файл короче на 3 символа за вкладку :-)
Я не думаю, что есть выход. После того, как клавиша табуляции расширена до четырех пробелов, vim не может знать, что они когда-либо были табуляцией.