Emacs Python模式偏好设置

5

我刚开始使用Python,但我是一个非常有经验的emacs用户。我正在决定python.el和python-mode.el(或其他任何等效模式),我倾向于python-mode.el,主要是因为它有一个有用的“indent-region”方法...

然而,在这两种模式中,我似乎都缺少C-mode的一些功能,比如跳转到下一个/上一个函数(c-beginning-of-defun)(这与py-goto-block-up不同,因为1)没有py-goto-block-down,2)您可以使用c-b...来向上滚动多个函数,但是py-..只能走出级别)

另外,由于C具有大括号等,很容易找到当前部分的开头/结尾。py-goto-block-up给出了块的开头,但是没有相应的块结尾...

谢谢


你可以在Emacs 23.2下使用python.el来刚性缩进Python块,只需选择块文本,然后键入C-c <(python-shift-left)或C-c>(python-shift-right),如果你喜欢python-mode.el下的indent-region。 - codeasone
问题是:“有更好的Python模式吗?或者我如何在现有的Python模式中完成这些任务?” - Brian Postow
4个回答

4

在python-mode中有C-M-aC-M-e,它们分别定位到当前def或class的开头和结尾。默认情况下,它们映射到beginning-of-defunend-of-defun

还有一个C-c C-u,它被映射到python-beginning-of-block。我的python-mode默认没有将python-end-of-block映射过来,但它也存在。


是的,但它们只适用于顶层结构,比如def和class...你不能用它们来找到for循环的结尾... - Brian Postow
啊,出于某种原因,我以为你已经有了 python-[beginning|end]-of-block。已编辑。 - nmichaels

0

当前的python-mode.el带有许多更精细的命令,涉及块、语句、表达式、部分表达式、类、def、行等

具有beg/end/copy/delete/execute属性

获取方式:

https://launchpad.net/python-mode


0

别忘了有两个python.el文件。一个是现在Emacs中的“旧”文件,而另一个是由fgallina创建的,将在发布Emacs 24.2时包含在内。我不太确定新的文件是否比python-mode.el更好。


0

我发现 pdbtrack(python-mode.el 的一部分)非常有用


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接