2009-09-10 3 views
10

Как вы вставляете блок кода справа влево вверх и вниз?vim question: tabbing block code

+0

HTTP: // StackOverflow.com/questions/442302/tabbing-selected-section-in-vim –

+3

Что вы имеете в виду вверх и вниз? –

+0

сказать, что у меня есть блок кода, и я хочу переместить его [несколько строк] вниз – vehomzzz

ответ

35

Мой любимый способ - выбрать блок кода (с обычным режимом [V]), затем нажмите> или <.

Если вы хотите переместить несколько раз, 2> или 3>, чтобы повторить его.

Если у вас недостаточно вкладок (или слишком много вкладок), введите «gv», чтобы повторно выбрать свой выбор и повторите попытку.

Чтобы переместить блок кода, выберите его в режиме [V], а затем нажмите «d». Это операция «Вырезать».

Затем переместите курсор в нужное место и нажмите «p». Это операция «Вставить».

Вы также можете попробовать выполнить автоматическое табуляцию блока кода, выбрав его с помощью [V] isual line mode и нажав «=».

+5

ли gv повторно выбирает предыдущий выбор? WOW - это полезно по своему усмотрению ... – vehomzzz

+5

Если код не был достаточно вкладок, вы можете использовать команду dot '.' для повторения последнего идентификатора ... – CMS

+0

Я никогда не знал о кончике gv, спасибо для этого! –

1

В командном режиме:

>

Как и любой другой команды можно предварять номер строки, которую вы хотите, чтобы он применяется:

+ + >

Будет ли «вкладка» 22 линии.

Press ., если вы хотите, чтобы «повторно вкладка»

4

Для отступа внутреннего блока, содержащего курсор, сделайте следующее: >iB Для отступа внутреннего блока, включающих в вмещающих скобках, сделайте следующее: >aB

Вы можете заменить «>» с '<' с отступом влево.

К автоиндексу нажмите == (или = если вы выделили текст).

1

Я использую удобный перенос для визуального режима, который позволяет отступы от текста несколько раз, сохраняя выбранный текст. Подобно тому, как некоторые IDE позволяют выбирать и удалять вкладку (или shift-tab) в отступ.

Добавьте следующие строки в .vimrc

" Pressing <or> will let you indent/unident selected lines 
vnoremap < <gv 
vnoremap > >gv 

Также вы можете использовать == иметь ВЬЕШЬ попытаться определить правильные отступы автоматически. Он будет работать на любой строке, просто разместив курсор там и нажав ==, или вы можете сделать фантазийные вещи, например, выбрать весь файл и нажать ==, чтобы исправить все отступы (работает чудеса на html, сгенерированные редакторами wysiwyg).

0

Просто зайдите в визуальном режиме набрав V, а затем использовать < или символ> :)