Используя движения только Vim, и дергает/приклеивание .. Учитывая файловым содержание ..
1234567890abcdef
qwertyuiopasdfgh
С курсором на д, 10x
, файл становится:
1234567890abcdef
asdfgh
Переместить курсор первая линия (с использованием k
сделает это), затем сделайте 10yl
(yank 10 символов, справа)
Затем переместите назад по одной линии, j
, и вставьте P
(верхний регистр, чтобы вставить под курсором) и файл становится:
1234567890abcdef
1234567890asdfgh
Короче говоря, начиная с курсором на д:
10xk10yljP
..which можно вставить в или назначить to a macro
было бы короче, если бы было очевидно, что ярлык для вставки путем перезаписи, но я не мог найти такую вещь
Еще один вариант невероятно неясными ищет регулярное выражение поиска/замены ..
Визуальная строки выберите две целевые строки и выполнить следующую команду поиска и замены:
:'<,'>s/\(\(.\{10\}\).*\)\n\(.\{10\}\)\(.*\)$/\1\r\2\4/
В основном это хватает ..
\1
- вся первая линия
\2
- первые 10 символов (в вложенной группе)
- разрыв строки
\3
- первые десять символов строки два
\4
- остальная часть второй линии
Затем он строит две линии как \1\n\2\4
- полная первая линия, LINEBREAK, первые 10 символов первого, второго остатка от
Что делать, если шаблон, который вы хотите совместить, это не первые 10 символов этой строки? В этом случае это может не сработать. –
@B Johnson вопрос заключается в том, что 10 символов находятся в начале строки. – besen
Ницца. Я не знал, что vim regexes может охватывать линии. – rampion