2015-04-01 3 views
0

Есть ли простая комбинация клавиш для копирования условных операторов в vim? У меня есть, если состояние какСкопировать условные операторы в vim

1: if (some condition) { 
    2:  // do many things in multiple lines 
100: } 

Typing y% путем размещения курсора в строке 1, копирует строки от 2 до 100. Есть ли способ, чтобы скопировать из строки 1 до 100? Я пробовал ya%, yi%, но ничего не помогло. Я также могу скопировать с помощью меток или отметить номера строк, но это трудоемкая задача. Аналогичное требование для других условных операторов.

ответ

1

Обычно я помещаю свой курсор на {, а затем делаю V%y (обратите внимание на столицу «V»).

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

Может быть, не лучший способ.

+0

V% y - это точная команда, которую я ищу. большое спасибо. – barathrum

0

Вы можете сделать va{ или vaB, а затем :'<,'>y (с автоматически вставленным вами диапазоном).

Или vaB, затем V, чтобы включить «визуальный» выбор в «визуальную линию», затем y.

Придерживаясь команд ex, вы можете сделать :,/^}/y от линии if или :?if?,/^}/y откуда-то в условном.

Кроме того, если вы можете свернуть это условное значение на одну строку, вы можете вытащить все линии в закрытой складке простым yy.

Смежные вопросы