Відступіть кілька рядків з VIM?


42

Наприклад, я редагую цей код:

<html>
<body>
<script>
    var a = 10;
    a += 100;
</script>
</body>
</html>

тепер мені потрібно відступити рядок сценарію:

<html>
<body>
    <script>
        var a = 10;
        a += 100;
    </script>
</body>
</html>

Як я можу це зробити, не переміщуючи курсор на початок кожного рядка і натискаючи Tab?


У командному режимі:gg=G
Принц Джон Веслі

Відповіді:


71

Натисніть, Vщоб переключитися в режим VISUAL LINE та підкресліть рядки, які потрібно відступити, натиснувши j. Потім натисніть >для відступу. Отже, повна команда була б Vjjj>.

Крім того, поставте курсор на <script>тег і використовуйте 4>>для відступу чотири рядки.


1
Також при зміні кількох рівнів відступу,. є надзвичайно корисним (він перемістить той самий "блок", який буде зображено візуально, позначками або [кол], як вище 4 >>).
Піф

Крім того, якщо ваш файл синтаксису може відповідати тегам, ви можете навести курсор на слово "скрипт" і натиснути v для візуального режиму,%, щоб перейти до відповідного тегу, і> для відступу або = для автоматичного відступу на основі синтаксису, тому загальна команда буде v%> або v% =
ben

Це працює і в мультиплікаційному візуальному режимі (нижній регістр v), який трохи простіше набрати. Так vjjj>
Джеймс Скрівен

14

Щоб доповнити вищевказану відповідь, подивіться тут. https://stackoverflow.com/questions/235839/how-do-i-indent-multiple-lines-quickly-in-vi

Для цього є більше ніж один спосіб, і я не можу сподіватися конкурувати з уже наданою там документацією.

Мій особистий фаворит - ==автоматичне відступ. 5==для автоматичного відступу 5 рядків.


10

Для відступу всіх рядків нижче поточного рядка

=G

Отже, для відступу всього файлу перейдіть до початку файлу ( gg), а потім відступіть усі рядки нижче поточного рядка ( =G)

gg=G

Для відступу поточного рядка

==

Отже, до відступів nнижче поточного рядка

n==

Наприклад, для відступу на 4 рядки нижче поточного рядка

4==

Це найпростіші команди для відступу кількох рядків.


8

Якби це я, я помітив би, що є 4 рядки для відступу, розміщення на верхньому рядку та введення >4>. Якщо для зарахування було занадто багато рядків, я розміщую верхній рядок і набираю, mkщоб зробити позначку з іменем k, а потім розташувати на нижній лінії (яка може бути за кілька екранів) і ввести>'k


приємна порада, щоб заощадити робити математику на лініях, дякую!
мерехтіння

3

Ось приємний підхід, якщо ви намагаєтесь відступити на великій кількості рядків:

:/<script>/,/<\/script>/ >>
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.