按Enter后,PyCharm会在== b之后正确识别该行:
if a == b:
print "something"
但是在emacs中,它会给我:
if a == b:
print something
我已经和ergoemacs一起启用了python-mode。有人这样做之前可以分享如何使用PyCharm吗?
更新 * alt-return似乎正在做我想要的事情 *
答案 0 :(得分:3)
C-j执行newline-and-indent,这正是你正在寻找的。 p>
使用python-mode.el时, RET 默认绑定到py-newline-and-indent
。
答案 1 :(得分:1)
我猜你正在运行“错误”的python模式。
你的发行版最有可能发货python-mode.el
,我个人觉得它有点笨拙。
相反,请尝试python.el
。只需下载文件,将其放入~/.emacs.d/
并添加
(load "~/.emacs.d/python.el")
到您的~/.emacs
文件。
当你在这里时,这里有一些关于空白和最大行长度的好设置:
(add-hook 'python-mode-hook '(lambda ()
(setq whitespace-line-column 79)
(setq whitespace-style '(face empty tabs lines-tail trailing))))
答案 2 :(得分:0)
在print something
行的任意位置按'tab'键 - 它应该正确缩进。这适用于大多数模式。
EDIT 在没有像python 这样的严格缩进规则的其他模式中,您可以突出显示所有内容,Ctrl + Meta + \将尝试格式化所有内容。