Что такое последовательность «un-tab» в (g) Vim? - PullRequest
14 голосов
/ 20 мая 2010

Это раздражение, которое у меня было долгое время.

(Nitpicky раздел: я предпочитаю 4 пробела символам табуляции. Гораздо проще набирать «tab» вместо объяснения этого. Когда я говорю «tab», я имею в виду «действие, которое происходит при нажатии клавиши табуляции "который, вероятно, проще сказать как" увеличение отступа ".)

Я использую smartindent при редактировании документа, где отступ имеет какое-то значение. В текстовых редакторах «тупых» окон я могу нажать Shift + Tab, чтобы удалить вкладку или, что более уместно, уменьшить уровень отступа текущей строки. Я не могу понять, как это сделать из режима редактирования в Vim; Shift + Tab кажется таким же, как Tab.

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

  1. Используйте Notepad ++ или другой тупой редактор. Я делал это пару лет, но я очень скучаю по Vim.
  2. Выйдите из режима редактирования, используйте <<, войдите в режим редактирования. Это просто помещает курсор в столбец 0; если бы я хотел этого, я бы не попробовал smartindent. </li>
  3. Прекратить использование smartindent. Я не уменьшаю отступ так часто, как мне нужно, чтобы поддерживать тот же уровень отступа; это будет потеря производительности.
  4. Кажется, левая клавиша со стрелкой уменьшает отступ на один уровень. Я бы предпочел что-то сделать, не выходя из дома. Это самый многообещающий выбор.

Может быть, я могу установить опцию? Может быть, я могу привязать левую стрелку к чему-то? (Если это требует повторного связывания, пожалуйста, объясните подробно; я никогда не копался в перенастройке (g) Vim.

1 Ответ

27 голосов
/ 20 мая 2010

Вы можете использовать Ctrl + D для резервного копирования одной остановки табуляции. Это фактически перемещает всю строку влево на одну позицию табуляции; Ctrl + T делает то же самое с правой стороны.

Обратите внимание, что эти нажатия клавиш работают только в режиме вставки (используйте << и >> для эквивалента в режиме команд).

...