我在Windows 7上运行PowerShell 2.0版。
我使用以下PowerShell代码(来自此答案:https://stackoverflow.com/a/65148/360840)来修改我的PowerShell配置文件:
"`nNew-Alias which get-command" | add-content $profile
正如所料,它将有问题的行添加到我的个人资料中,但之后,我的Vim会话开始在每行的末尾显示^ M个字符。很奇怪!有什么原因导致它以及如何解决它的任何线索?我在Vim中尝试了set fileformat=dos
,但没有做任何事。
这是我的Vim版本信息:
(不确定如何使图片更大 - 这不是正常尺寸。)
答案 0 :(得分:4)
您的文件可能是unix
文件格式(所有行以<CR>
结尾),并且您附加了dos
文件格式的行(以{{1}结尾的行是什么让Vim感到困惑。
答案 1 :(得分:1)
所以,我遇到了这个问题,解决方案略有不同。我检查了我的文件格式,它是unix,你可以查看你的
:set fileformat?
它显示了我不想要的所有^ M个字符...有趣的是,在上面指出的VIM手册中:http://vimhelp.appspot.com/vim_faq.txt.html#faq-14.13表示^ M行结尾来自DOS文件格式和“如果文件有一些行结束,一些行以#结尾,则fileformat设置为'unix'。”
所以,考虑到这一点,你似乎想要删除所有^ M结尾,并保留结尾,但删除结尾:%s/\r$//
立即解决了我的问题,文件格式仍然说'unix'。
这对我有用。作为旁注,为了提供更具谷歌能力的参考,我想注意我在使用LocomotiveCMS时遇到了这个问题。我正在使用Wagon将我的CSS文件拉回本地工作。当我拿回它时,它充满了^ M个字符,文件仍然正常,它只是丑陋。
答案 2 :(得分:0)
问题是该文件已损坏。在这种情况下, Vim开始显示^ M个字符以提醒您出现问题。修复方法是手动删除这些字符(%s/^M//g)
。
我还不清楚,因为Windows文件格式使用它们时,这些字符在文件中被支持。但至少问题已经解决了。
编辑:请查看与dash-tom-bang的意见交换,其中提供了澄清。