Вопрос

Какой самый простой способ увеличить или уменьшить отступ для большого блока кода в vi?

Это было полезно?

Решение

В vim (не уверен, относится ли это и к вам), вы используете >> для отступа в одну строку. Как и почти для каждой команды в vim, введите число перед выполнением команды несколько раз. Чтобы сделать отступ для следующих 50 строк, введите 50>>.

Другие советы

Автоматическое определение:

Для блока { } я использую команду: =iB (с наведением курсора внутри блока на ident)

Для повторной идентификации полного файла я использую gg=G

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

Также не забудьте установить параметры идентификации с помощью

:установить shiftwidth=NUMOFSPACES

и

:установить softtabstop=NUMOFSPACES

Отметьте это, затем используйте > и <.

Если ваш код находится между фигурными скобками, поместите курсор на одну из фигурных скобок и используйте >% или <%.

Еще одна полезная команда, когда вы делаете отступ, используя '<' или '>', используйте '.' повторять команду до тех пор, пока она не будет выстроена так, как вы хотите.

Кроме того, вы можете посмотреть http://vim.wikia.com/ советы по этому вопросу. такие вещи.

По умолчанию в режиме вставки вы можете использовать Ctrl-T и Ctrl-D для удаления текущей строки.

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

используйте две угловые скобки (" < < " или " > > " ) для одной строки влево или вправо по ширине символов. Вы можете сделать это с помощью общих индикаторов линейного диапазона - & Quot;: m, n & Quot ;, сопоставление скобок / скобок / паренов и т. Д.

Или " < " ;, затем индикатор движения, затем еще один " < ".

Или " < 12 < " сдвигает следующие 12 строк влево.

:50,100>

Будет делать отступы от строк с 50 по 100 один раз

:50,100>>

Будет делать отступы от строк с 50 по 100 дважды

также работает с < и << и т.д.

Сначала найдите номера строк начальной и конечной строк с помощью команды Control-g. Пусть это будут m и n . Предположим, что мы хотим сделать отступ для номеров строк от m до n на 5 пробелов. Затем следующая команда выполняет работу,

:m,ns/^/     /g 

Чтобы уменьшить отступ, сначала преобразуйте все табуляции в (скажем, 4) пробелы.

:m,ns/\t/    /g

Тогда, скажем, мы хотим удалить 3 пробела из строк, пронумерованных от m до n .

:m,ns/^   //g
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top