如何在一个大的python代码库中用一个选项卡替换四个空格?

时间:2013-03-13 09:04:35

标签: python tabs coding-style space

我已经下载了一个python代码,想要编辑它。问题是我曾经使用制表符进行缩进,但文件使用了四个空格,如果使用了空格和制表符的组合,那么在视觉上看起来很好,但代码会产生错误。

我的问题是,是否有一种简单的方法可以用标签替换空格?

5 个答案:

答案 0 :(得分:3)

获得一个了解模拟标签的编辑器。然后它将使用4个空格模拟制表符。现在大多数编辑都可以做到这一点。他们感觉就像标签,但是空间..

答案 1 :(得分:2)

使用reindent.py。它应该在您系统上的工具/脚本中。在某些情况下,默认情况下可能无法安装,并且需要添加额外的软件包,例如:python-examples或python-tools。

答案 2 :(得分:0)

您有几种选择:

  1. 使用可配置为使用制表符或空格缩进的编辑器,并根据需要重新配置它。 VimEclipseTextMateGEdit或任何其他中等严重的代码编辑器都可以执行此操作。
    另外,如果您的编辑器支持它,请打开初始空格的显示。
  2. 在linuxes / unices上,您可以使用多个命令行工具来帮助您进行转换。只需查看this SO question
  3. 的答案

答案 3 :(得分:0)

在Vim中有命令重新命名。我在我的vimrc中有这一行:

nnoremap <F7> :set noexpandtab!<CR>

所以,任何时候我需要从标签恢复到空格,反之亦然,我按下F7并在vim中调用命令:

:retab!

如果你使用vim非常有用的插件 - spacehi.vim 。此插件将突出显示一行上的制表符和尾随空格,并能够打开和关闭突出显示。

答案 4 :(得分:0)

如果你正在使用bash使用GNU / Linux或MacOSX,那么你可以在命令行中使用它:

find . -type f -name '*.py' | while read file; do
     grep '    ' $file > /dev/null && sed -ie 's/    /\t/g' $file
done