Скажіть, що я на лінії 20, і я хотів би перетягнути лінію 4, як це зробити?
І так само, як я можу витягнути лінію відносно мого положення курсору, скажімо, на 3 рядки вгору?
Скажіть, що я на лінії 20, і я хотів би перетягнути лінію 4, як це зробити?
І так само, як я можу витягнути лінію відносно мого положення курсору, скажімо, на 3 рядки вгору?
Відповіді:
Від :help :yank:
:[range]y[ank] [x] Yank `[range]` lines [into register x].
Отже, щоб вивести рядок 4, слід набрати:
:4yank
Зверніть увагу, ви можете легко зробити це в режимі вставки за допомогою <C-o>; це дозволяє виконати одну команду, після чого повертаєтесь до режиму вставки; наприклад:
<C-o>:4yank
Можна, звичайно, використовувати і інші діапазони. Деякі приклади:
:1,3yank:%yank:.,$:yank:.,+3yank:-3,.yank:-3yankНайбільш корисні речі, які слід пам’ятати про діапазони:
:line1,line2command..Є поточним рядком (ви на самому справі можна опустити точку , в більшості випадків, :.,+3yankі :,+3yankте саме)+nта -n.Див. Для :help [range]отримання додаткової інформації.
:4yankз:4y
Крім команд екс-режиму , які у вас є ви можете досягти , що він також в командному режимі, наприклад , шляхом: 4GY''- що означає: Гото рядок 4 ( 4G), копіюєте лінію ( Y), і повернення до попереднього рядка ( '').
Ви також можете використовувати позначки стрибків; для вашого другого питання, наприклад: mm3kY'm- що означає: встановити позначку m ( mm), перейти на три рядки вгору ( 3k), yank line ( Y), повернутися до позначки m ( 'm).
Просто введіть
:4y
до 4 лінії
він перейде до реєстру без назви. Потім (наприклад) ви можете використовувати його, pщоб розмістити його в іншому місці. Ви також можете використовувати [n]p, наприклад, 10p, щоб вставити його 10 разів.
Ви можете помістити його в іменний реєстр, такий як "a" з
:4y a
4G"ayy.