Як скопіювати з поточного положення до кінця рядка у vi


102

Я використовую gvim у windows. Як скопіювати текст з поточного положення до кінця рядка in vi та вставити його в інший файл, відкритий у vi. Я googled це, але не можу знайти рішення для цього. Вдячні за будь-яку допомогу з цього приводу. Дякую.

Відповіді:


155

Команда у звичайному режимі для переміщення до кінця рядка є $.

Ви можете скопіювати в кінець рядка y$і вставити за допомогою p.

Щоб скопіювати / вставити між різними екземплярами, ви можете скористатися системним буфером обміну, вибравши *регістр, так що команди стають "*y$для копіювання та "*pвставки.

$ перехід до лінії

$

y$ ривок до лінії

y,$

"*y$ виберіть буфер обміну-реєструйте прямування до лінії

", *, y,$

"*p виберіть буфер обміну-реєстрації

", *,p

Перевірте :h registersдодаткову інформацію.


Дякую. але я хочу вставити вміст у "інший файл", відкритий у vi. Це працює лише з тим самим файлом.
javalearner

4
Він буде працювати для будь-якого файлу, відкритого в одному і тому ж екземплярі. Ви можете скопіювати у системний буфер обміну, вибравши *(або +) реєстр.
Дон Реба

Чому система реєструє не може працювати ... Я не можу скопіювати контекст file1для file2. Мені ще потрібно користуватися мишкою. Що може бути причиною, ймовірно?
Альстон

8
Зазвичай я використовую Dдля того, щоб вирізати з поточного положення до кінця і pвставити (відновити) вихідні дані, а потім переїхати кудись інше, щоб вставити зірвані дані. Просто тому, що це набагато простіше, Dніж набрати y$.
neevek

1
@PhilipRego, це y$без крапки з комою.
Дон Реба

45

Якщо ви не хочете включати розрив лінії з yank, ви можете використовувати yg_. (Або у вашому випадку, "*yg_)

В основному, просто визнайте, що існує різниця між рухом $і з g_точки зору руху. Це мені допомагало неодноразово.


3
Чи можна все-таки поміняти g_і $? Мені рідко буває, якщо мені колись потрібно включати перерву лінії в рухах.
Джонатан Дюман

1
ТАК! зайвий новий рядок зводить мене з розуму. Це потрібна інформація.
javadba

6
@JonathanDumaine у ​​своєму $MYVIMRCnmap $ g_
листі

@thedanotto ви прекрасна людина
Джонатан Дюман


3

Інше рішення: Dpі вставте його p. Фактично це спочатку видаляє в кінці рядка і повторно вставляє його в ту саму локацію. Вставте його десь ще p.


1
Чому б Du і не залишив файл без змін? (зверніть увагу: сюди входить новий рядок)
ген
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.