在emacs中进行Python代码折叠?

Moh*_*ati 41 python emacs editor folding

我有很多课程和定义......

我想拥有+-键之前classdef折叠类或打开它(切换它).

我怎么能这样做?

小智 38

Hideshow开箱即用并折叠python代码.它内置了我的emacs版本(24.3.1)

我从来没有比这些命令更需要:

M-x hs-minor-mode
M-x hs-hide-all
M-x hs-show-all
Run Code Online (Sandbox Code Playgroud)

要切换使用可能需要重新绑定的Cc @ Cc.您可能还希望在.emacs文件中设置一个钩子,以便在打开.py文件时自动启用hs-minor-mode.

我将以下组合使用它来跳转.

M-x imenu <my_func_name>
Run Code Online (Sandbox Code Playgroud)

  • 5000行python文件!?有这么大的档案有充分的理由吗? (5认同)
  • @cammil 也许不是,但我认为文本编辑器不是执行该规范的正确位置。如果不出意外的话,当我重构它时,我应该能够使用代码折叠来帮助管理 5000 行文件。 (2认同)

Eri*_*got 6

您可以使用CEDET获得代码折叠(以及更多).使用CEDET,您应该考虑在emacs配置文件中添加以下设置:

(global-semantic-folding-mode t)
Run Code Online (Sandbox Code Playgroud)

CEDET处理Python和其他语言.

关于如何在编程时使emacs更方便的其他想法可以在StackOverflow上找到.

  • CEDET似乎包含在Emacs 24中,但此功能不可用.这两年后改变了吗? (7认同)