Что я пробовал

Что я пробовал

Когда я открываю Vim на своем ноутбуке и запускаю регулярное выражение следующим образом:

:%s/foo/\n/g

vim вставляет ^@ вместо переносов строк.

Эта проблема началась на прошлой неделе. Я использую Ubuntu 18.04.04. Я думаю, что проблема могла начаться после того, как Ubuntu установила обновления.

Что я пробовал

кодирование и кодирование файлов

Я пробовал устанавливать кодировку и кодировку файла на utf-8, а затем на latin1, но это ничего не дало.

:язык

:lang выводит "Текущий язык: "LC_CTYPE=en_US.UTF-8;LC_NUMERIC=C;LC_TIME=es_ES.UTF-8;LC_COLLATE=en_US.UTF-8;LC_MONETARY=es_ES.UTF-8;LC_MESSAGES=en_US.UTF-8;LC_PAPER=es_ES.UTF-8;LC_NAME=es_ES.UTF-8;LC_ADDRESS=es_ES.UTF-8;LC_ TELEPHONE=es_ES.UTF-8;LC_MEASUREMENT=es_ES.UTF-8;LC_IDENTIFICATION=es_ES.UTF-8"

Если я вызову vim с помощью

LC_ALL=C vim foo

то это не имеет значения, проблема все равно возникает.

решение1

\n в vim для замены означает не новую строку, а ноль.

Вместо этого используйте \r. Например:

:%s/foo/\r/g

Связанный контент