Удалить расширенную до пространства “вкладку” в Vim с одним нажатием клавиши?

Я редактирую код Python с Vim.

С клавишей Tab я получаю четыре пробела, вставленные для добавления отступа. Как я могу удалить те пробелы с одним штрихом "Клавиши Backspace"(?) - вместо четыре?

Должна быть некоторая опция "набора" для этого...

Вот мой .vimrc:

set autoindent
set ts=4
set sw=4
set et
19
задан 29.08.2014, 15:30

6 ответов

Можно использовать Ctrl+D для резервного копирования одной позиции табуляции. Это на самом деле перемещает целую строку налево одна позиция табуляции; Ctrl+T делает то же самое направо. Обратите внимание, что эти нажатия клавиш только работают в Режиме вставки (использование << и >> для эквивалента в Командном режиме).

23
ответ дан 07.12.2019, 10:15

Вы проверили использование расширять установки вкладок в Ваш VIM?

:set noet

Я обычно предпочитаю сохранять вкладки на при работе над файлами.
Когда это требуется, я заменяю вкладки к 4 пробелам или столько же как требуется.

:%s/<ctrl+V><tab>/    /g
                  ----

Как маленькая премия, Ваш исходный файл короче 3 символами на вкладку :-)

-1
ответ дан 07.12.2019, 10:15

Несколько опций:

  1. Вы могли 'повторно снабдить вкладками' все пробелы, таким образом, они заменяются вкладками. Тем путем они могли быть легко удалены.
  2. Вы могли (это быть непротестированным, таким образом, я просто делаю предложение, идеи здесь) делают функцию который 'execute's в нормальном режиме 4 раза клавиша Backspace. Затем отобразите его на что-то. Однако это не имеет никакого способа знать, удалит ли это пробелы или некоторые важные символы, таким образом, это будет потенциально небезопасно.
  3. '4X' удалит последние 4 символа (это большое X, не, маленький, маленький будет действовать как клавиша Del'.
1
ответ дан 07.12.2019, 10:15

Я не думаю, что существует путь. После того как клавиша Tab расширена до четырех пробелов, энергия не имеет никакого способа знать, что они были когда-либо вкладкой.

-2
ответ дан 07.12.2019, 10:15

Я записал GreedyBackspace.vim для кого-то, кто хотел что-то вроде этого. Я лично не использую его так, это было некоторое время, так как я обновил его. Я не получил отчетов об ошибках на нем в последнее время, все же.

2
ответ дан 07.12.2019, 10:15
set softtabstop=4
30
ответ дан 07.12.2019, 10:15

Теги

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