Python的Emacs批量缩进

在Emacs中使用Python,如果我想添加一个try /除了一段代码,我经常会发现我不得不逐行缩进整个块。 在Emacs中,你如何缩小整个区块。

我不是一个有经验的Emacs用户,但只是发现它是通过ssh工作的最佳工具。 我在命令行(Ubuntu)上使用Emacs,而不是gui,如果这有什么区别的话。


如果您使用Emacs编程Python,那么您应该使用python模式。 使用python模式,在标记代码块之后,

Cc >Cc Cl将区域向右移动4个空格

Cc <Cc Cr将该区域向左移动4个空格

如果您需要通过两级缩进或某个任意数量来移动代码,则可以在命令前加上一个参数:

Cu 8 Cc >将区域向右移动8个空格

Cu 8 Cc <将区域向左移动8个空格

另一种选择是使用Mx indent-rigidly绑定到Cx TAB

Cu 8 Cx TAB将区域向右移动8个空格

Cu -8 Cx TAB将区域向左移动8个空格

矩形命令对文本矩形进行操作,而不是文本行也很有用。

例如,在标记矩形区域之后,

Cx ro插入空白区域以填充矩形区域(有效地将代码右移)

Cx rk杀死矩形区域(有效地将代码向左移)

Cx rt会提示输入字符串以替换矩形。 输入Cu 8 <space>将输入8个空格。

PS。 使用Ubuntu时,要使python模式成为所有.py文件的默认模式,只需安装python-mode软件包即可。


除了默认映射到CM-indent-region ,矩形编辑命令对于Python非常有用。 将区域标记为正常,然后:

  • Cx rtstring-rectangle ):将提示您输入要插入每行的字符; 非常适合插入一定数量的空间
  • Cx rkkill-rectangle ):删除一个矩形区域; 非常适合去除缩进
  • 你也可以Cx ryyank-rectangle ),但这只是很少用处。


    indent-region映射到CM-应该做的伎俩。

    链接地址: http://www.djcxy.com/p/6567.html

    上一篇: Emacs bulk indent for Python

    下一篇: Clojure Emacs etags