(/n). Можно ли как то сделать yank этих строк без переносов?
Напиши макрос.
9999Jyy
Всмысле скопировать, как будто это одна длинная строка?
Да. Нашел такое решение vmap <C-C> "+y:let @+ = substitute(@+, "\n\n\n*", "±", "g") \\|:let @+ = substitute(@+, "\n", "", "g")<CR> \\|:let @+ = substitute(@+, "±", "\\n", "g")<CR> \\|'< Оно копирует без переноса строки и удаляет пробелы Например у меня в буфере есть строки: стро ка И выделив эти две строки и нажав C-v оно скопирует строка
Тогда надо скопировать просто, а потом выполнить :let @" = substitute(@", '\n', '', 'g') Если в регистре x, то вместо @" писать @x
Этот вариант ещё последовательности нескольких переносов превращает в одиночный
Это можно одной командой сделать вместо 3х, и будет работать, если в копируемых строках будет ±: :let @+ = substitute(@+, '\n\+', '\=len(submatch(0)) > 1 ? "\n" : ""', 'g')
Обсуждают сегодня