Amb*_*ous 3 python vim indentation
我看到有类似的标题.但我的情况似乎有些怪异.我不知何故使用了PyCharm和Vim的混合物(在Vim中我有tabstop = 4和shiftwidth = 2),而我的Python代码似乎是un-fixabl-y borked,缩进.我第一次看到Vim的一切都是错位的,所以我重新调整了一切; 但是当我运行它时,我得到一个错误,即有一个意外的缩进,即使在Vim中一切看起来完全一致.这是一个例子(这是它在Vim中的样子):
for f in files:
for line in f:
items = line.strip().split()
items = items[2:]
items = ' '.join(items).split(', ')
Run Code Online (Sandbox Code Playgroud)
当我运行它时,我得到:
File "getEsSynonymLSAVectors.py", line 136
items = items[2:]
^
IndentationError: unexpected indent
Run Code Online (Sandbox Code Playgroud)
我使用了PythonTidy,我用过reindent,我试过:retab,我尝试过手动重新对齐 - 似乎没有解决这个问题.任何经验/建议将不胜感激.
Python默认情况下将一个标签视为8个空格,如果你得到缩进,你通常会想要将标签切换到空格(反之亦然,但我通常会发现空格更容易处理).因此,请确保将vim设置为显示为8个宽的空格(:set ts=8),以查看python看到的内容.
要修复vim中的选项卡错误,我通常会执行以下操作,首先我需要能够看到选项卡,因此我启用了突出显示搜索(:set hlsearch)并搜索选项卡(/\t).然后,我会注意需要重新拍摄的区域.接下来,我尝试为文件找到正确的vim tab宽度设置(:set ts=n并且n在所有内容都很好的情况下有所不同),启用expand tab(:set et),然后运行自动选项卡fix(:retab).当其他所有方法都失败时,请手动重新归
如果您正在使用版本控制,请确保在更改之前使用文件进行区分,并手动检查您是否因为缩进级别的无意更改而未引入错误.如果不使用版本控制,请保留备份并对文件运行diff.
| 归档时间: |
|
| 查看次数: |
4409 次 |
| 最近记录: |