В Vim, как я могу сместить блок кода для исправления?

Я использую Редактор Vim. Вот моя ситуация:

1111111111111
2222222222222
3333333333333
4444444444444

Выше исходный код, я хочу сделать их как ниже. Что я должен сделать для смещения их всех направо?

    1111111111111
    2222222222222
    3333333333333
    4444444444444
28
задан paxdiablo 28 September 2018 в 00:27
поделиться

5 ответов

В командном режиме вы можете использовать >> для отступа одной строки. 4 >> изменит отступ в текущей и следующих трех строках.

Если вы не знаете заранее, сколько строк (оно может быть довольно большим), вы можете использовать диапазоны. Перейдите к первой строке диапазона и введите ma , чтобы разместить маркер A. Затем перейдите к последней строке и введите > 'a для отступа отсюда до маркера A. Вы можете сделать всякие чудесные штучки с диапазонами.

То, как они имеют отступ, зависит от нескольких вещей, например от ваших настроек ширины сдвига. У меня всегда одинаковые настройки ширины смены и остановки табуляции, чтобы избежать проблем:

:set ts=4 sw=4

(например).

43
ответ дан 28 November 2019 в 02:32
поделиться

Hit >

Вот и все.

7
ответ дан 28 November 2019 в 02:32
поделиться

Если вы уже выбрали четыре строки в визуальном режиме: > сдвинет их shiftwidth вправо. После их смещения визуальное выделение исчезнет, ​​но вы можете снова сделать отступ с помощью . (повторить последнюю команду).

Если вы находитесь в обычном режиме, поместите курсор в любом месте первой строки:

  • >> сделает отступ в этой строке,
  • 4 >> сделает отступ во всех четырех строках,
  • > 3j сделает то же самое другим способом (отступ от этой строки до трех строк вниз),
  • >} сделает отступ для всех строк до конца абзаца (т.е. до первого пустого line, см. : help object-motions ), а
  • > ap сделает отступ для всех строк для a p -aragraph (см. : help text-objects ), даже если ваш курсор находится не на первой строке.

Опять же, вы можете повторить эти команды через . для более глубоких уровней отступа (или вы можете установить shiftwidth соответствующим образом).

Если ваш файл красиво состоит из «абзацев» (а большая часть моего кода и прозы состоит из них), я думаю, вы найдете текстовый объект ap как наиболее распространенный способ работы с такие блоки текста. Вы также можете использовать текстовые объекты для ускорения визуального выделения.

24
ответ дан 28 November 2019 в 02:32
поделиться

Используйте v, чтобы выбрать блок, а затем нажмите кнопку>.

5
ответ дан 28 November 2019 в 02:32
поделиться

Используйте клавишу > .

3
ответ дан 28 November 2019 в 02:32
поделиться
Другие вопросы по тегам:

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