LINUX.ORG.RU

Vim. Подстановка с переносом строки


0

0

Хочу из строки string1, string2, string3,... (string - слова без пробелов) сделать столбец: string1, string2, string3, .. Сделать это надо именно в (г)виме.

Он правильно находит по паттерну запятые и даже ставит после них перенос строки, он отображается как ^@ или типа того. НО СТРОКИ ОН НЕ ПЕРЕНОСИТ.

Видимо нужно сделать set bla_bla_bla ... Вопрос в том, какой флаг надо выставить. Пробовано в винде и в линуксе - не работает и там и там.

anonymous

Стань на строку
!!tr ',' '\n'

sdio ★★★★★
()
Ответ на: комментарий от sdio

не работате. Первое вообще непонятно что такое Касательно второго я не знаю что значит твой регэксп, я делаю кондовым но верным способом: :%s/\(,\)/\1\n/g

Твой регэксп навставлял мне ^V^M вместо запятых (чего и следовало ожидать), вим не воспринял их как спецсимволы.

anonymous
()
Ответ на: комментарий от anonymous

Если не ошибаюсь, то '\n' - новая строка в NIX-ах, '\r' (возврат каретки) - в Mac-ах, '\r\n' - в Win. Почему в Vim '\r' - честно говоря, не знаю:).

kaaos
()
Ответ на: комментарий от anonymous

\n в sed нельзя использовать, поведение \n в sed не стандартно. И не все версии его (\n) понимают.
Это все равно как использовать недокументированные функции, завтра все может измениться.

sdio ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.