В Vim, как можно заменить оставшуюся линию на дернутый текст? Если я нажму «D», трясущийся текст будет заменен удаленным текстом.Vim: Замена конца строки
Кроме того, как можно вырваться до конца строки? Если я нажму «Y», он выдержит всю строку.
В Vim, как можно заменить оставшуюся линию на дернутый текст? Если я нажму «D», трясущийся текст будет заменен удаленным текстом.Vim: Замена конца строки
Кроме того, как можно вырваться до конца строки? Если я нажму «Y», он выдержит всю строку.
Нажмите v
ввести визуальный режим на исходный характер выбора. Затем нажмите $
, чтобы перейти в конец строки. После этого нажмите y
, чтобы вынуть выбор.
Итак:
v$y
Вместо дергает, используйте p
для вставки. Это будет вставляться над выбором. Таким образом, после того, как вы используете D
удалить какой-нибудь текст, сделайте следующее:
v$p
Это вставит удаленный текст по выбору.
y$ - yank to end of line
Два способа вы можете заменить текст в конце строки с ранее скопированного текста:
v$p
- v
войти визуальный режим; $
для перехода к концу строки; p
для вставки выделенного текста.D"0p
- последний дернутый (а не удаленный) текст сохраняется в регистре 0, поэтому: D
удалить до конца строки; "0
для выбора регистра 0; p
, чтобы вставить этот реестр.Ваши вопросы, кажется, полностью отвечает другим в этой точке (v$p
и y$
), но я хотел бы одну дополнительную часть информации:
дергать до конца строки, путь по умолчанию y$
, Тем не менее, это довольно распространенная практика: map Y y$
в вашем , так как поведение по умолчанию Y
является избыточным с yy
и несовместимо с другими сопоставлениями, такими как D
и C
.
Вот как я это сделать:
"ay$
(дергать от курсора до конца строки в регистр a
)D
(удаление до конца строки)"ap
(вставить текст дергал на шаге 1)Следует признать, что это очень похож на another answer, но я предпочитаю явное указание регистра, потому что она заставляет мне подумать о том, что я делаю.Я мог видеть, как я случайно перезаписываю регистратор 0
, если я отвлекся или попытаюсь сделать что-то еще.
Если вы хотите удалить текст, не затрагивая основной (безымянный) регистр, удалите свой текст в «регистр черных дыр», который называется "_
. Сделайте это через "_D
. Тогда неназванный регистр не будет затронут, и вы можете вставить свой ранее дернутый текст как обычно.
См. :h quote_
.
О, извините, я думал, что вы хотите нажать v $ y, чтобы выдернуть. Да, это работает, спасибо. – Rafid