Как «табулировать назад» (убрать табуляцию или табуляцию) в Vim? - PullRequest
48 голосов
/ 30 декабря 2010

Существует ли быстрый способ перехода назад без нажатия клавиши Backspace (сколько бы я ни выделил пробелов)?

Ответы [ 4 ]

92 голосов
/ 30 декабря 2010

Если вы находитесь в режиме вставки:

  • Ctrl + d - сдвиг влево
  • Ctrl + t - сдвиг вправо

Если вы находитесь в обычном режиме:

  • Shift + <<</kbd> - смещение текущей строки влево
  • Shift + >> - смещение текущей строки вправо

Если вы находитесь вВизуальный режим и выбрать 1 или более линий:

  • < - выбор смещения влево
  • > - выбор смещения вправо

Если выозначает просто переместиться назад на слово в обычном режиме, вы можете использовать b, чтобы переместиться назад на слово.

11 голосов
/ 30 декабря 2010
set softtabstop=4 expandtab

и вы сможете добавить до четырех пробелов при нажатии клавиши Tab и удалить до четырех пробелов, нажав <BS> один раз.

3 голосов
/ 23 июля 2016

тл; др: 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, >> , << </kbd> и т. Д.
Когда ноль будет использоваться значение tabstop.

tabstop ts

Количество пробелов, на которые рассчитывает a в файле. Также см : команда retab и softtabstop опция.

softtabstop sts

Количество пробелов, на которые рассчитывает Tab при выполнении редактирования операции, такие как вставка Tab или использование BS . Это ощущается как Tab s вставляются, хотя на самом деле смесь пробелов и s используются. Это полезно для сохранения значения tabs на его стандартное значение, при этом возможность редактирования, как это установлено на sts. Когда sts отрицательно, используется значение shiftwidth. Это спасет вас некоторые хлопоты, если вы часто меняете табуляции. Если expandtab не установлено, количество пробелов минимизируется с помощью Tab s.

expandtab et

В режиме вставки: используйте соответствующее количество пробелов для вставки a. Пробелы используются в отступах с помощью команд > и <</kbd> и когда autoindent включен. Чтобы вставить реальную вкладку, когда expandtab включен, используйте Ctrl - V Tab . Смотрите также : retab

2 голосов
/ 30 декабря 2010

в обычном режиме, << вернет текущую строку назад на одну, в визуальном режиме, < вернет все выбранные строки назад

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...