1

我在运行 PowerShell 2.0 版的 Windows 7 上。

我使用以下 PowerShell 代码(来自此答案:https ://stackoverflow.com/a/65148/360840 )来修改我的 PowerShell 配置文件:

"`nNew-Alias which get-command" | add-content $profile

正如预期的那样,它将有问题的行附加到我的个人资料中,但之后,我的 Vim 会话开始在每行的末尾显示 ^M 个字符。很奇怪!关于导致它的原因以及如何解决它的任何线索?我在 Vim 中尝试过set fileformat=dos,但它什么也没做。

这是我的 Vim 版本信息:

vim版本

(不知道如何使图片更大 - 这不是它的正常尺寸。)

4

3 回答 3

4

vim-faq 14.13中有一些选项可以解决这个问题。我在我的文件中看到很多 ^M 符号。我尝试将“fileformat”选项设置为“dos”,然后设置为“unix”,然后设置为“mac”。这些都没有帮助。如何隐藏这些符号?

您的文件可能是unix文件格式(所有行都以 结尾<CR>),并且您附加了dos文件格式的行(以 结尾的行<CR><NL>,这让 Vim 感到困惑。

于 2013-05-20T20:47:28.063 回答
1

所以,我遇到了这个问题,解决方案略有不同。我检查了我的文件格式,它是 unix,你可以用它来检查你的 :set fileformat? 它显示了所有我不想要的 ^M 字符......有趣的是,在上面指出的 VIM 手册中:http://vimhelp.appspot.com/vim_faq.txt.html#faq-14.13声明 ^M 行结尾来自 DOS 文件格式,并且“如果文件有一些以a ,则文件格式设置为 'unix'。"

因此,鉴于此,您似乎希望删除所有 ^M 结尾并保留结尾,但删除结尾:%s/\r$//立即为我解决了问题,并且文件格式仍然显示为“unix”。

这对我有用。作为旁注,为了提供更适合 google 的参考,我想指出我在使用 LocomotiveCMS 时遇到了这个问题。我正在使用 Wagon 将我的 CSS 文件拉回本地工作。当我找回它时,它充满了 ^M 字符,该文件仍然可以正常工作,只是很难看。

于 2013-10-24T17:20:55.913 回答
0

问题是文件损坏了。在这种情况下,Vim 开始显示 ^M 字符以提醒您注意问题。解决方法是手动删除这些字符(%s/^M//g)

我仍然不清楚,因为这些字符应该在文件中,因为 Windows 文件格式使用它们。但至少问题解决了。

编辑:请参阅带有 dash-tom-bang 的评论交流,它提供了澄清。

于 2013-05-21T08:50:18.420 回答