Скажіть, що я на лінії 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
.