В Vim, как я могу сдвинуть блок кода вправо? - PullRequest
25 голосов
/ 02 августа 2010

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

1111111111111
2222222222222
3333333333333
4444444444444

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

    1111111111111
    2222222222222
    3333333333333
    4444444444444

Ответы [ 6 ]

39 голосов
/ 02 августа 2010

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

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

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

:set ts=4 sw=4

(например).

23 голосов
/ 02 августа 2010

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

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

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

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

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

7 голосов
/ 02 августа 2010

Хит >

Вот и все.

4 голосов
/ 02 августа 2010

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

3 голосов
/ 02 августа 2010

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

0 голосов
/ 25 апреля 2014

Для меня число должно быть после, как >>4, чтобы двигаться вправо, или до, как 4<<, чтобы двигаться влево.Я использую Vim 7.4.52.

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