Как дернуть текущую линию и линию над ней?

Что мне нужно, это как дернуть текущую строку и линии над ней.

Пример:

#3 My test line
#4 Line above current line
#5 My current line |(cursor)
#6 Line below current line

Итак, как мне дернуть линию #5 а также #4 когда мой курсор находится на линии 5,

3 ответа

Решение

yk должен сделать это, как в Yank в направлении вверх на одну строку, так как y примет следующее нажатие клавиши как движение, а один k представляет движение вверх на одну строку.

Если вам нужен курсор, чтобы вернуться в исходное положение, просто добавьте a j как ykj. Вы, вероятно, увидите, что курсор неуверенно двигается на экране, но он выполняет свою работу.

В этом простом случае yk сделает свое дело. Это дергание, сопровождаемое движением вверх на одну линию.

Как правило, использовать yNkнапример, y3k дергать текущую строку и предыдущие 3 строки.

Если вам нужно вернуться в позицию курсора после рывка, установите отметку и вернитесь к отметке после yk:

mmyk`m

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

В дополнение к командам обычного режима, уже упомянутым в других ответах, можно использовать :yank Команда Ex в соответствующем диапазоне строк. Например, чтобы скопировать текущую строку вместе со строкой над ней (без перемещения курсора), запустите

:-,y
Другие вопросы по тегам