Я использую Редактор Vim. Вот моя ситуация:
1111111111111
2222222222222
3333333333333
4444444444444
Выше исходный код, я хочу сделать их как ниже. Что я должен сделать для смещения их всех направо?
1111111111111
2222222222222
3333333333333
4444444444444
В командном режиме вы можете использовать >>
для отступа одной строки. 4 >>
изменит отступ в текущей и следующих трех строках.
Если вы не знаете заранее, сколько строк (оно может быть довольно большим), вы можете использовать диапазоны. Перейдите к первой строке диапазона и введите ma
, чтобы разместить маркер A. Затем перейдите к последней строке и введите > 'a
для отступа отсюда до маркера A. Вы можете сделать всякие чудесные штучки с диапазонами.
То, как они имеют отступ, зависит от нескольких вещей, например от ваших настроек ширины сдвига. У меня всегда одинаковые настройки ширины смены и остановки табуляции, чтобы избежать проблем:
:set ts=4 sw=4
(например).
Если вы уже выбрали четыре строки в визуальном режиме: >
сдвинет их shiftwidth
вправо. После их смещения визуальное выделение исчезнет, но вы можете снова сделать отступ с помощью .
(повторить последнюю команду).
Если вы находитесь в обычном режиме, поместите курсор в любом месте первой строки:
>>
сделает отступ в этой строке, 4 >>
сделает отступ во всех четырех строках, > 3j
сделает то же самое другим способом (отступ от этой строки до трех строк вниз), >}
сделает отступ для всех строк до конца абзаца (т.е. до первого пустого line, см. : help object-motions
), а > ap
сделает отступ для всех строк для a p -aragraph (см. : help text-objects
), даже если ваш курсор находится не на первой строке. Опять же, вы можете повторить эти команды через .
для более глубоких уровней отступа (или вы можете установить shiftwidth
соответствующим образом).
Если ваш файл красиво состоит из «абзацев» (а большая часть моего кода и прозы состоит из них), я думаю, вы найдете текстовый объект ap
как наиболее распространенный способ работы с такие блоки текста. Вы также можете использовать текстовые объекты
для ускорения визуального выделения.
Используйте v, чтобы выбрать блок, а затем нажмите кнопку>.