Я хотел бы присоединиться много (~1000) из строк, но только каждое нечетное со следующим. Вручную я мог сделать
Jj
500 раз и сделайте его. Однако, как я могу выполнить эти два оператора 500 раз в одной единственной команде? Ввод
500Jj
присоединится к следующим 500 строкам и затем спуску по одной строке.
Пример:
Я имею:
a
b
c
d
e
f
g
h
Я хочу:
a b
c d
e f
g h
Править: Я пытался отобразиться:
:map X Jj
500X
но по-видимому я должен прочитать отображающиеся документы снова. Не работает.
я сделал бы это:
начните записывать макрос 'q': qqJjq
воспроизведите макрос 'q' 500 раз: 500@q
(на самом деле это не макрос, названный 'q', это - именованный регистр, названный 'q'. вместо в интерактивном режиме заполняются, которые регистрируются как в 1., Вы могли также сделать :let @q = "Jj"
и затем сделайте 2.)
Сделать это на каждой строке файла:
:%normal J
или, короче:
:%norm J
Чтобы сделать это на просто части файла, выберите строки с V или получите диапазон некоторый другой путь:
:'<,'>global/^/normal J
или, короче:
:'<,'>g/^/norm J
Мы можем также играть с:
'<,'>g//s/.*\zs\n\ze.*/ /