Вопрос: Удалите все суровые пространства перед линией в Vim


Я написал плагин, где речь идет о разборе XML-тега. Содержимое внутри тега имеет отступы, и когда я копирую синтаксическую строку в файл, она выглядит следующим образом:

    Example line
        This is part of the parsed line
        Thats goes one
    End of line

Я хочу удалить все пробелы перед этими строками, окончательный текст должен быть

Example line
This is part of the parsed line
Thats goes one
End of line

Я попытался использовать = но это не работает так, как я хочу. Как я могу сделать это с минимальными нажатиями клавиш?


37


источник


Ответы:


Чтобы отформатировать строку слева, я использую :left, Используйте этот формат для всего файла:

:%le

104



Простой поиск / замена s/^\s*// должен сделать трюк, но это, вероятно, не минимальная версия.


11



Лично я бы визуально выбирал линии с V, затем используйте 99< чтобы вывести текст так далеко, насколько он мог бы идти.


8



Просто введите d с последующим w с последующим j в начале каждой строки.


4



Как насчет этого:

:%s/^ *//

Или вы ищете решение vim-script?


4



Чтобы удалить начальные пробелы и вкладки с указанными номерами строк (например, из строк 5-10)

:5,10s/^\s*//

1



Поиск / замена, предложенная Лукашем Лалинским или %le подход на странице wikia, вероятно, так, как я бы это сделал, но в качестве другой альтернативы вы также можете сделать:

:%< 99

Как быстрый способ переместить весь файл ( %) 99 раз влево.


0



Удалите все последовательные пробелы: :%s/ */ /g

Мне было полезно перейти от:

$screen-xs-min:              480px;
$screen-sm-min:              768px;
$screen-md-min:                992px;
$screen-lg-min:                  1200px;

Для того, чтобы:

$screen-xs-min: 480px;       
$screen-sm-min: 768px;       
$screen-md-min: 992px;           
$screen-lg-min: 1200px;                                                                                                 

0



Еще один способ добиться этого - использовать обычную команду :h :normal-range 

:%norm d^

Это соответствует столбцу 0 в каждой строке ( % ) и удаляет ( d ) до первого небелого символа ( ^ ).

Это немного больше, чтобы ввести в качестве принятого ответа, но позволяет легко расширять, если у вас есть более сложный сценарий, например, дополнительный комментарий без комментариев:

:%norm d^I# 

В результате чего:

#Example line
#This is part of the parsed line
#Thats goes one
#End of line

0