Не мог заменить пространство новой строкой в Vim

Для хорошего объектно-ориентированного проектирования не нужно много общедоступных констант. Большинство констант должны быть инкапсулированы в классе, который нуждается в них для выполнения своей работы.

65
задан Community 23 May 2017 в 12:10
поделиться

5 ответов

:% s / / Ctrl v Return / g

Где Ctrl v - это клавиша Control плюс клавиша v и Return - это клавиша возврата (та, что на основной клавиатуре, а не клавиша ввода на цифровой клавиатуре). Остальные символы набираются как обычно.

Если это введено правильно, последовательность Ctrl v Return будет отображаться как символы ^ M , обычно другого цвета , чтобы указать, что они особенные. Обратите внимание, что на самом деле ввод ^ M будет , а не .

Также обратите внимание, что в Vim для Windows это Control-q вместо Control-v (как это вставить).


Ctrl-v также позволяет вводить другие "специальные" клавиши с клавиатуры. Это также полезно, например, для Tab или Backspace.

121
ответ дан 24 November 2019 в 15:15
поделиться

Попробуйте

%s/ /\r/g
44
ответ дан 24 November 2019 в 15:15
поделиться

Введите следующее:

:s/ /

, а затем введите Ctrl-V или Ctrl-Q (в зависимости от вашей конфигурации) и нажмите клавишу Enter. Теперь у вас должно быть:

:s/ /^M

Прикончить:

:s/ /^M/g

и все готово.

8
ответ дан 24 November 2019 в 15:15
поделиться

Попробуйте либо

Для Unix:

:1,$s/\ /\n/g

Для Windows:

:1,$s/\ /\r/g

Здесь содержится escape-символ для пробела.

2
ответ дан 24 November 2019 в 15:15
поделиться

Specifically to answer your problem with trailing characters, this is the regex you specified:

:%s/ /s/\n/g

You have too many /. What happens is that you replace ' ' with s, and then you tag on this after the substitution: \n/g

I think you meant this:

:%s/ \s/\n/g

Note that your /s was changed to \s. Now the substitution will replace one space followed by one whitespace of any kind (space or tab) with \n. I doubt if this solve the problem or replacing space with a newline, but it should explain the error message.

2
ответ дан 24 November 2019 в 15:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: