Python 损坏的VIM压痕?
我的python脚本中的标识有时会突然变为,我想你可以说已经损坏了。识别会突然改变,使我的程序失败 如果我使用cat查看文件,我可以看到标识是错误的。但在VIM中,它显示为良好。这是输出和设置 有什么想法吗 通过一个“cat-e”Python 损坏的VIM压痕?,python,vim,Python,Vim,我的python脚本中的标识有时会突然变为,我想你可以说已经损坏了。识别会突然改变,使我的程序失败 如果我使用cat查看文件,我可以看到标识是错误的。但在VIM中,它显示为良好。这是输出和设置 有什么想法吗 通过一个“cat-e” validate_hostname = RegexValidator(regex=r'[a-zA-Z0-9-_]*\.[a-zA-Z]{2,6}',message="Enter a valid hostname.")$
validate_hostname = RegexValidator(regex=r'[a-zA-Z0-9-_]*\.[a-zA-Z]{2,6}',message="Enter a valid hostname.")$
validate_hostname(host_input)$
except ValidationError, e:$
print type(e)$
print str(e[0])$
error = str(e)$
else:$
error = "Please complete all fields." $
$
print error$
return [error,host_input,record_input]$
在VIM内
validate_hostname = RegexValidator(regex=r'[a-zA-Z0-9-_]*\.[a-zA-Z]{2,6}',message="Enter a valid hostname.")
validate_hostname(host_input)
except ValidationError, e:
print type(e)
print str(e[0])
error = str(e)
else:
error = "Please complete all fields."
print error
return [error,host_input,record_input]
我的.vimrc看起来像
syntax on
se bg=dark
set tabstop=4 " insert 4 spaces when a tab is pressed
set shiftwidth=4 " change the number of space characters inserted for indentation
set expandtab " insert spaces whenver a tab key is pressed
看起来您有混合的空格和制表符。在
vim
和cat-e
(或简称less
)中,代码看起来不同,因为它们使用不同的标签宽度,这是由于设置tabstop=4
如果在vim
中它看起来不错,那么执行:retab
应该可以修复它:它将用您看到的空格量替换制表符。结果看起来相同,但所有制表符都将消失
在执行retab
之前,必须先获得正确的tabstop
值。例如,如果您遇到了相反的问题—代码在less
中看起来是正确的,但在vim
中被破坏了,并且您在该状态下执行了:retab
,这将破坏Python脚本
查看这篇关于vim中选项卡的精彩文章:
特别是,我认为您应该将这些设置添加到。vimrc
:
set softtabstop=4
set smarttab
看起来您有混合的空格和制表符。在
vim
和cat-e
(或简称less
)中,代码看起来不同,因为它们使用不同的标签宽度,这是由于设置tabstop=4
如果在vim
中它看起来不错,那么执行:retab
应该可以修复它:它将用您看到的空格量替换制表符。结果看起来相同,但所有制表符都将消失
在执行retab
之前,必须先获得正确的tabstop
值。例如,如果您遇到了相反的问题—代码在less
中看起来是正确的,但在vim
中被破坏了,并且您在该状态下执行了:retab
,这将破坏Python脚本
查看这篇关于vim中选项卡的精彩文章:
特别是,我认为您应该将这些设置添加到。vimrc
:
set softtabstop=4
set smarttab
尤其是在Python中,空格很重要,不应该混合使用制表符和空格。即使您在Vim中仔细设置了缩进设置(甚至可能在每个文件中包含modeline以设置缩进),编辑该文件的其他用户可能也不会太在意
因此,我编写了验证缩进的函数,当缩进不一致时会发出抱怨。插件页面有指向其他插件的链接。尤其是在Python中,空格很重要,不应该混合使用制表符和空格。即使您在Vim中仔细设置了缩进设置(甚至可能在每个文件中包含modeline以设置缩进),编辑该文件的其他用户可能也不会太在意
因此,我编写了验证缩进的函数,当缩进不一致时会发出抱怨。插件页面有指向其他插件的链接。对我来说,听起来像是混合了空格和标签。检查是否存在此问题。请尝试重新设置选项卡,看看是否解决了此问题。然后使用
:set list
查看不可打印的字符,如制表符和空格,以及混合空格和制表符。检查是否存在此问题。尝试重新设置选项卡,看看是否解决了此问题。然后使用:set list
查看无法打印的字符,如制表符和空格pep8
实用程序也会执行此操作。pep8
实用程序也会执行此操作。