Поместить курсор в конец выбранного блока после некоторой операции - PullRequest
3 голосов
/ 22 февраля 2012

Несколько примеров, с которыми я сталкиваюсь довольно часто.

Отступ в некотором коде

Например, я хочу поместить блок кода в оператор if:

puts("hello");
puts("world");

Iвведите if (pid > 0) { перед первой строкой, затем нажмите Esc , j , Shift + v , j , > :

if (pid > 0) {
  puts("hello");
  puts("world");

Теперь курсор находится в начале первого puts, и для ввода закрывающей скобки мне понадобится еще один j , чтобы перейти к концу блока с отступом.

Вставка блока и добавление в его конец

Почти тот же пример.При извлечении некоторого кода для работы, после его добавления с помощью p мне нужно добавить оператор возврата или закрывающую скобку в конце.Если мне повезет, после вставленного блока будет пустая строка, и я могу использовать } , чтобы сразу перейти, но это не всегда так.

Вопрос

Итаквопрос в том, как перейти к концу выделенного блока после некоторой операции над ним (вставка, отступ и т. д.)?

Ответы [ 2 ]

5 голосов
/ 22 февраля 2012
`]

Переместит вас в конец снятого или ранее измененного текста.

См

:h `]
1 голос
/ 22 февраля 2012

В качестве альтернативного поведения вы можете сначала вставить закрывающий }, а затем , а затем , автоматически ввести отступ в новый контекст.

Находясь на последней строке новой области в обычном режиме:

* +1008 * о } ESC v % = * 1 020 ** * тысячу двадцать один
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...