Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使Vim以不同的行打开.py文件?_Python_Vim_Spyder - Fatal编程技术网

Python 如何使Vim以不同的行打开.py文件?

Python 如何使Vim以不同的行打开.py文件?,python,vim,spyder,Python,Vim,Spyder,以前,我使用Spyder编写文件,但最近开始过渡到Vim。当我使用Vim打开一个.py文件时,前面的所有行都混合到第一行中,但用^M分隔 我的~/.vimrc文件在上使用了文件类型插件缩进,我认为这可以解决这个问题 谢谢 据我所知,^M是vim中用于回车的特殊字符。你应该可以把它换掉 :%s/^M/\r/g 我可以想象,^M是作为某种特定的配置spider使用的,在vim中无法很好地翻译。我只是在这里猜测,可能是完全错误的。一个只有^M(也称为,或回车符)作为行分隔符的文件正在使用mac的文件格

以前,我使用Spyder编写文件,但最近开始过渡到Vim。当我使用Vim打开一个.py文件时,前面的所有行都混合到第一行中,但用^M分隔

我的~/.vimrc文件在上使用了文件类型插件缩进,我认为这可以解决这个问题


谢谢

据我所知,
^M
是vim中用于回车的特殊字符。你应该可以把它换掉

:%s/^M/\r/g


我可以想象,^M是作为某种特定的配置spider使用的,在vim中无法很好地翻译。我只是在这里猜测,可能是完全错误的。

一个只有
^M
(也称为
,或回车符)作为行分隔符的文件正在使用
mac
的文件格式。这似乎就是你在这里打开的文件的格式

由于此文件格式非常不寻常,Vim不会尝试检测它。通过将以下内容添加到vimrc文件中,可以告诉Vim检测它:

set file formats+=mac
或者,您可以在打开单个文件时使用此格式,方法是:

:e ++ff=mac script.py
您可能希望将这些文件转换为更普通的
unix
文件格式。您可以在打开文件后执行此操作,方法是:

:set ff=unix

然后用
:w
或类似符号保存文件。

我认为用十六进制符号替换更好:

:%s/\%x0D$//e

说明:如果用户尝试键入插入符号M而不是CtrlvEnter,他/她会认为这是一个错误。

我觉得您可能在正确的轨道上,但^M已变灰,这使得命令无法检测到它们。匹配图案侧的
^M
字符的方法是
\r
,因此,这应该是
:%s/\r/\r/g
,它应该按预期工作。请注意,这看起来很奇怪,但它是正确的<代码>\r表示图案和替换面上的不同内容。它与模式上的回车符(
^M
)匹配,但在替换上生成实际的换行符。