【问题标题】:emacs python mode preferencesemacs python 模式首选项
【发布时间】:2010-09-27 16:31:59
【问题描述】:

我刚开始使用 Python,但我是一个非常有经验的 emacs 用户。我试图在 python.el 和 python-mode.el (或人们可以建议的任何其他等效模式)之间做出决定。

目前我强烈倾向于 python-mode.el,主要是因为它有一个有用的“缩进区域”方法......

但是,我似乎在两种模式中都缺少 C 模式的一些功能,即转到下一个/上一个功能 (c-beginning-of-defun)(这与 py-goto-block- 1) 没有 py-goto-block-down, 2) 你可以使用 c-b.. 向上滚动多个功能,但 py-.. 只能退出关卡)

此外,由于 C 语言有大括号等,因此很容易找到当前部分的开头/结尾。 py-goto-block-up 给了我一个块的开头,但是块的结尾没有等价物......

谢谢

【问题讨论】:

  • 您可以在 Emacs 23.2 下使用 python.el 严格缩进 Python 块,只需选择块文本,然后键入 C-c (python-shift-right) if这就是 python-mode.el 下的 indent-region 吸引你的地方
  • 问题是“有没有更好的python模式?或者我如何在现有的python模式下做这些事情?”

标签: python emacs


【解决方案1】:

在python模式中有C-M-a和C-M-e。它们分别转到当前 def 或类的开始和结束。它们默认映射到beginning-of-defun 和end-of-defun。

还有C-c C-u,它映射到python-beginning-of-block。我的 python 模式默认不映射 python-end-of-block,但它也存在。

【讨论】:

  • 是的,但它们仅适用于顶级结构,例如 def 和 class...您不能使用它们来查找 forloop 的结尾...
  • 啊,不知为何我以为你已经拥有python-[beginning|end]-of-block。已编辑。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    当前的 python-mode.el 带有许多更细粒度的命令。 块、语句、表达式、部分表达式、类、定义、行

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

    得到它

    https://launchpad.net/python-mode

    【讨论】:

      【解决方案4】:

      不要忘记有两个python.el 文件。一个是现在 Emacs 中的“旧”版本,the other 由 fgallina 开发,发布时将在 Emacs 24.2 中。我没有资格说新的是否比python-mode.el更好。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多