如何在Python中缩进后自动返回光标?
任何代码编辑器都知道在python中缩进的位置,因为python使用如何在Python中缩进后自动返回光标?,python,vim,syntax,editor,indentation,Python,Vim,Syntax,Editor,Indentation,任何代码编辑器都知道在python中缩进的位置,因为python使用:作为缩进标志,但在完成代码块后,我们希望光标返回到上次的位置,如下所示: 不,IDE不可能在所有情况下都知道块何时结束 以下是一些例外情况,可以合理地猜测您希望结束当前缩进级别。例如,使用pass将Python语法要求使用块的块保留为空,或者使用return、break或continue,这些语句使Python无法到达缩进块的其余部分 然而,由于在Python中必须取消缩进才能发出块结束的信号,所以IDE不能在所有情况下都知
:
作为缩进标志,但在完成代码块后,我们希望光标返回到上次的位置,如下所示:
不,IDE不可能在所有情况下都知道块何时结束 以下是一些例外情况,可以合理地猜测您希望结束当前缩进级别。例如,使用
pass
将Python语法要求使用块的块保留为空,或者使用return
、break
或continue
,这些语句使Python无法到达缩进块的其余部分
然而,由于在Python中必须取消缩进才能发出块结束的信号,所以IDE不能在所有情况下都知道块何时结束。您可以轻松地使用几行空行执行print()
调用,然后在相同缩进级别执行另一行代码,它仍然是test\u func()
正文的一部分
如果编辑器实现了自动缩进规则,这完全取决于编辑器,但是任何实现了自动缩进规则的编辑器都会受到Python固有的限制。不,IDE不可能在所有情况下都知道块何时结束 以下是一些例外情况,可以合理地猜测您希望结束当前缩进级别。例如,使用
pass
将Python语法要求使用块的块保留为空,或者使用return
、break
或continue
,这些语句使Python无法到达缩进块的其余部分
然而,由于在Python中必须取消缩进才能发出块结束的信号,所以IDE不能在所有情况下都知道块何时结束。您可以轻松地使用几行空行执行print()
调用,然后在相同缩进级别执行另一行代码,它仍然是test\u func()
正文的一部分
如果编辑器实现了自动缩进规则,这完全取决于编辑器,但是任何实现了自动缩进规则的编辑器都会受到Python固有的限制。您不能这样做,因为除了dedent本身之外,块的末尾没有标记。你可以在缩进块中有空行,所以只有空行并不意味着它是块的结尾。尝试
控制+输入…我注意到在vim中使用带有ycm插件的pass
可以帮我做缩进,我可以像Ruby中的end
或C中的}
那样使用pass
吗?这个问题不是IDE/编辑器特有的吗?在PyCharm 2016.2中,在任何函数的末尾写入pass
,然后按enter
将光标移动到下一行的开头。control
+enter
在Atom中不起作用,您使用的编辑器是什么?您不能,因为除了dedent本身之外,块的末尾没有标记。你可以在缩进块中有空行,所以只有空行并不意味着它是块的结尾。尝试控制+输入…我注意到在vim中使用带有ycm插件的pass
可以帮我做缩进,我可以像Ruby中的end
或C中的}
那样使用pass
吗?这个问题不是IDE/编辑器特有的吗?在PyCharm 2016.2中,在任何函数末尾写入pass
,然后按enter
将光标移动到下一行的开头。control
+enter
在Atom中不起作用,您使用的编辑器是什么?
def test_func():
print("Here we have an auto indent")
# but how to
# return, without pressing the backspace key