Я знаю, как использовать v
команду в vim, но мне нужно что-то, что удалит всю строку, и это позволит мне вставить эту же строку куда-нибудь еще.
Я знаю, как использовать v
команду в vim, но мне нужно что-то, что удалит всю строку, и это позволит мне вставить эту же строку куда-нибудь еще.
Ответы:
Нажатие Shift+ vвыделит всю эту строку, а нажатие dудалит ее.
Вы также можете использовать dd, который не требует входа в визуальный режим.
dd
легче чем shift + v
->d
dd
в командном режиме (после нажатия escape) обрежет строку, p
в командном режиме вставит.
Обновить:
Для получения бонуса, d
а затем движение будет вырезать эквивалент этого движения, поэтому dw
будет вырезать слово, d<down-arrow>
разрезать эту линию, а линия ниже, d50w
разрезать 50 слов.
yy
это строка копирования, и работает как dd
.
D
разрезает от курсора до конца строки.
Если вы использовали v
(визуальный режим), вы должны попробовать V
(режим визуальной линии) и <ctrl>v
(режим визуального блока).
P
чтобы вставить строку перед курсором в командном режиме. И <Ctrl-R>"
вставить строку в режиме вставки.
]p
вставить с правильным отступом. Но мы должны быть осторожны, чтобы не публиковать здесь все руководство по vim :).
Есть несколько способов обрезать линию, все они контролируются d
клавишей в обычном режиме. Если вы используете визуальный режим ( v
клавиша), вы можете просто нажать d
клавишу, как только выделите область, которую хотите вырезать. Переместитесь в место, которое вы хотите вставить, и нажмите p
клавишу для вставки.
Также стоит упомянуть, что вы можете копировать / вырезать / вставить из регистров. Предположим, вы не уверены, когда и где вы хотите вставить текст. Вы можете сохранить текст до 24 регистров, обозначенных буквой алфавита. Просто добавьте в свою команду '
(одинарную кавычку) и регистрационную букву (через z). Например, вы можете использовать визуальный режим ( v
ключ), чтобы выбрать какой-то текст, а затем набрать 'ad
текст, чтобы вырезать текст и сохранить его в регистре «а». Как только вы перейдете к месту, куда вы хотите вставить текст, вы наберете текст, 'ap
чтобы вставить содержимое регистра a.
Удалить текущую строку и скопировать в буфер обмена:
d + d
Вставьте содержимое буфера обмена :
(Удерживать) Shift+P
Допустим, вы хотели сократить линию bbb
и вставить ее под линию---
Перед:
aaa
bbb
---
После:
aaa
---
bbb
bbb
---
Да, используйте dd в командной строке. Также я рекомендую распечатать полезное изображение с помощью горячих клавиш ViM, доступных на http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html