FastNetMon

Thursday 28 January 2016

Как убрать или сделать отступ на множестве строк в vim?

Уже долгие годы я использую vim, но как и многие - я очень плохо умею использовать его мегафичи.

Вот озвученная в сабже тема постоянно решалась мной вручную и очень долго.

Но есть решение!

Итак, сначала нам нужно установить режим отступа, :с=4 означает, что 1 отступ - это 4 пробела.

После этого, выделяем построчно нужный текст используя команды - Esc, SHIFT + V, после этого увидим строку выделения и щелкаем клавишами вверх либо вниз чтобы выделить весь нужный нам текст.

После того, как текст выделен жмем SHIFT + >. И в результате этой операции текст сдвинется на 4 пробела вправо!

Ура! Цель достигнута! А вообще рекомендую использовать clang format либо язык Go + vimgo для автовыравнивания кода, чтобы вообще не беспокоится об отступах вручную. 

1 comment :

  1. Публикую комментарий от пользователя stargrave@stargrave.org:

    Если вам надо сделать отступ на например пяти строчках начиная с
    текущей, то можно просто ввести "5>>".

    Так как визуально большое количество строк (например больше 3-4) уже
    мгновенно не подсчитать на экране, то очень полезно иметь включённую
    относительную нумерацию строк (:set relativenumber). С ней сразу
    показывается на экране фактически номер рядом со строкой который
    надо ввести перед ">>" или "<<" (или любыми другими) командами.

    Сдвигать можно через ex-режим, командой ">" ("<"): :.,+5> -- сдвинет
    с текущей строки, на пять следующих. Соответственно тут удобно
    применять метки (mark) и например начало/конец файла (%> -- сдвинуть
    все строки в файле).

    Если сдвинуть необходимо параграф, то есть то, что отделено пустыми
    строками, то можно мощь motion-ов использовать: находясь внутри
    параграфа (где угодно) "vip>" ("v" -- перейти в режим визуального
    выделения, "ip" -- inner paragraph, весь параграф выделить).

    ReplyDelete

Note: only a member of this blog may post a comment.