Что является самым простым способом увеличения или уменьшения отступа для большого блока кода в vi?vi indentation
ответ
В vim (не уверен, что это относится и к вам), вы используете >>
для отступов одной строки. Как и почти каждая команда в vim, введите число перед выполнением команды несколько раз. Таким образом, чтобы отложить следующие 50 строк, введите 50>>
.
Отметьте, затем используйте> и <.
Если ваш код находится между фигурными фигурными скобками, затем наведите курсор на одну из фигурных скобок и используйте >%
или <%
.
использовать две угловые скобки («< <» или «>>») для одной строки влево или вправо символами сдвига. Вы можете сделать это с помощью обычных индикаторов линейного диапазона - «: m, n», соответствия скобок/кронштейна/пачки и т. Д.
Или «<», затем индикатор движения, затем еще один «<».
Или «» сдвигает следующие 12 строк влево.
Autoidenting:
Для {} блока я использую команду: = И.Б. (с курсором внутри блока IDENT)
Для повторного identing полного файла, я использую Gg = G
Теперь для увеличения или уменьшения identation на блоке, вы должны выбрать его (я использую VIB команду), а затем вы > > или < <, и если вы хотите повторить идентификацию, просто используйте точку .
Также помните, чтобы установить параметры identation с
: набор shiftwidth = NUMOFSPACES
и
: установить softtabstop = NUMOFSPACES
По умолчанию в режиме вставки, вы можете использовать Ctrl-T
и Ctrl-D
для деактивации текущей линии.
удар v идти в визуальном режиме и стрелка вниз, так что весь блок выбран затем 12 >>
Еще одна полезная команда, как только вы отступа с помощью «<» или «>», используйте «» чтобы повторить команду, пока она не выстроится так, как вы этого хотите.
Кроме того, вы можете посмотреть на http://vim.wikia.com/ советы по этому поводу.
: 50100>
Будут отступа линии 50 через 100 раз
: 50100 >>
Will отступа линии 50 через 100 дважды
также работает с < < < и т.д.
Сначала найдите номера строк стартовой и конечной линий, используя Control-g команда. Пусть это будут m и n. Предположим, что мы хотим, чтобы номера строк отступа m до n на 5 пробелов. Затем, следующая команда выполняет работу,
:m,ns/^/ /g
Чтобы уменьшить отступ, сначала преобразовать все вкладки в (скажем) 4 пространств.
:m,ns/\t/ /g
Тогда давайте говорить, что мы хотим удалить 3 пробелы из строки пронумерованы м через п.
:m,ns/^ //g
>} довольно полезно. – jop 2008-10-31 05:06:11