如何在大型python代码库中用一个选项卡替换四个空格?
我已经下载了一段python代码,并想对其进行编辑。问题是,我以前使用制表符进行缩进,但文件使用四个空格,如果使用空格和制表符的组合,在视觉上看起来不错,但代码会产生错误如何在大型python代码库中用一个选项卡替换四个空格?,python,tabs,coding-style,space,Python,Tabs,Coding Style,Space,我已经下载了一段python代码,并想对其进行编辑。问题是,我以前使用制表符进行缩进,但文件使用四个空格,如果使用空格和制表符的组合,在视觉上看起来不错,但代码会产生错误 我的问题是,是否有一种用制表符替换空格的简单方法?获得一个理解模拟制表符的编辑器。然后,它将使用4个空格模拟选项卡。现在大多数编辑都能做到这一点。它们感觉就像标签,但却是空格 使用reindent.py。它应该在系统的工具/脚本中。在某些情况下,默认情况下可能不会安装它,并且需要添加额外的包,例如:python示例或pytho
我的问题是,是否有一种用制表符替换空格的简单方法?获得一个理解模拟制表符的编辑器。然后,它将使用4个空格模拟选项卡。现在大多数编辑都能做到这一点。它们感觉就像标签,但却是空格 使用
reindent.py
。它应该在系统的工具/脚本中。在某些情况下,默认情况下可能不会安装它,并且需要添加额外的包,例如:python示例或python工具。您有几个选项:
此外,如果编辑器支持,请打开初始空白的显示
在Vim中有命令retab。我的vimrc中有一行:
nnoremap <F7> :set noexpandtab!<CR>
如果您使用vim-spacehi.vim,这是一个非常有用的插件。此插件将突出显示一行中的制表符和尾随空格,并能够打开和关闭突出显示。如果您正在使用GNU/Linux或MacOSX和bash,则可以在命令行中使用此插件:
find . -type f -name '*.py' | while read file; do
grep ' ' $file > /dev/null && sed -ie 's/ /\t/g' $file
done
大多数理解这一点的编辑器也可以根据某种规范“格式化代码”。包括更改缩进样式。获得一个好的编辑器或IDEthank@williampersell:)尽管expand不会将空格转换为制表符?它还将转换所有选项卡,而不仅仅是前导空格。但是一个不错的工具。unexpand将是将空格转换为tab的工具。显然unexpand(仅限第一个)tabs=4也可以实现这一功能。
find . -type f -name '*.py' | while read file; do
grep ' ' $file > /dev/null && sed -ie 's/ /\t/g' $file
done