LINUX.ORG.RU

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


0

0

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

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

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

anonymous

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

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

sdio ★★★★★ ()

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

Или
:s/,/^V^M/g

^V^M это один символ, полученный нажатием Ctrl+V, Ctrl+M

sdio ★★★★★ ()
Ответ на: Re: Vim. Подстановка с переносом строки от sdio

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

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

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

anonymous ()
Ответ на: Re: Vim. Подстановка с переносом строки от anonymous

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

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

kaaos ()
Ответ на: Re: Vim. Подстановка с переносом строки от anonymous

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

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

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