Emacs批量缩进Python

问题:

在Emacs中使用Python,如果我想添加一个try / except到一个代码块,我经常发现我必须逐行缩进整个块。在Emacs中,你如何缩小整个块。
我不是一个有经验的Emacs用户,只是发现它是通过ssh工作的最好的工具。我在命令行(Ubuntu)上使用Emacs,而不是gui,如果这有任何区别。

回答:

如果您使用Emacs编程Python,那么您应该使用python-mode。使用python模式,在标记代码块之后,
 C-c >C-c C-l将区域的四个空格向右移动
 C-c <C-c C-r将区域的四个空格向左移动
如果需要将代码转换成两个级别的缩进,或者一些任意数量,你可以在命令前加一个参数:
 C-u 8 C-c >将区域向右移动8个空格
 C-u 8 C-c <将区域向左移动8个空格
另一个选择是使用绑定到C-x TABM-x indent-rigidly
 C-u 8 C-x TAB将区域向右移动8个空格
 C-u -8 C-x TAB将区域向左移动8个空格
还有用的是在文本的矩形上操作的rectangle commands,而不是文本行。
例如,在标记矩形区域之后,
 C-x r o插入空格以填充矩形区域(有效地将代码向右移动)
 C-x r k杀死矩形区域(有效地向左移动代码)
 C-x r t提示输入一个字符串来替换矩形。输入C-u 8 <space>将输入8个空格。
PS。使用Ubuntu,将python-mode设置为所有.py文件的默认模式,只需安装python-mode包即可。

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Emacs bulk indent for Python

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

6 + 2 =