我嘗試過的事情

我嘗試過的事情

當我在筆記型電腦上開啟 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. 」

如果我用以下命令調用 vim

LC_ALL=C vim foo

那麼它沒有什麼區別,問題仍然出現。

答案1

vim 中的 \n 表示替換並不是換行符,而是 null。

使用 \r 代替。例如

:%s/foo/\r/g

相關內容