Как вырезать всю строку в vim и вставить ее?

Я знаю, как использовать команду v в vim, но мне нужно что-то, что удалит всю строку, и это должно позволить мне вставить одну и ту же строку в другое место.

Ответ 1

Нажав shift+v, выберете всю строку и нажав d, удалите ее.

Ответ 2

dd в командном режиме (после нажатия escape) вырезает строку, p в командном режиме будет вставляться.

Update:

Для бонуса d, а затем движение сократит эквивалент этого движения, поэтому dw вырежет слово, d<down-arrow> сократит эту строку, а строка ниже, d50w сократит 50 слов.

yy является копией и работает как dd.

d отрезок от курсора до конца строки.

Если вы использовали v (визуальный режим), вы должны попробовать v (режим визуальной линии) и <ctrl>v (режим визуальных блоков).

Ответ 3

Есть несколько способов обрезать линию, все они управляются клавишей d в обычном режиме. Если вы используете визуальный режим (клавиша v), вы можете просто нажать клавишу d когда выделите область, которую хотите вырезать. Переместитесь в место, которое вы хотите вставить, и нажмите клавишу p чтобы вставить.

Также стоит упомянуть, что вы можете копировать/вырезать/вставить из регистров. Предположим, вы не уверены, когда и где вы хотите вставить текст. Вы можете сохранить текст до 24 регистров, обозначенных буквой алфавита. Просто добавьте к своей команде ' (одинарная кавычка) и регистрационную букву (через z). Например, вы можете использовать визуальный режим (клавиша v), чтобы выделить текст, а затем набрать 'ad чтобы вырезать текст и сохранить его в регистре "a". Как только вы перейдете к месту, куда вы хотите вставить текст, вы наберете 'ap чтобы вставить содержимое регистра a.

Ответ 4

  • нажмите "V" в нормальном режиме, чтобы выбрать всю строку.
  • затем нажмите 'y', чтобы скопировать его
  • перейдите к месту, в которое вы хотите вставить его, и нажмите "p", чтобы вставить после курсора или "P", чтобы вставить перед ним.

Ответ 5

Удалить текущую строку и скопировать в буфер обмена:

d + d

Вставьте содержимое буфера обмена:

(Удерживать) Shift + P

Ответ 6

Да, используйте dd в командной строке. Также я рекомендую распечатать полезное изображение с помощью горячих клавиш ViM, доступных по адресу http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html

Ответ 7

  • В командном режиме перейдите в начальную позицию текста, который вы хотите скопировать, и нажмите 'v'
  • Перейдите в конечную позицию текста и нажмите 'd'
  • Перейдите в место, которое вы хотите вставить, и нажмите 'p'

Ответ 8

Допустим, вы хотите вырезать строку bbb и вставить ее под строку ---

До:

aaa
bbb
---

После:

aaa
---
bbb
  1. Поместите курсор на строку bbb
  2. Нажмите d + d
  3. Наведите курсор на строку ---
  4. Нажмите p

enter image description here