私はPythonでいくつかのタブ形式のコードを持っており、私はいくつかのスペースをPythonでコードをフォーマットしている。Pythonファイルの空白を変換する?
痛みを伴うコードの統合...私のエディタは、タブまたはスペースで作業することを望んでいますが、両方では動作しません。
linuxにはコマンドライン機能がありますか、まあまあ、Pythonコードの書式を片方向に変換するものはありますか?
私はPythonでいくつかのタブ形式のコードを持っており、私はいくつかのスペースをPythonでコードをフォーマットしている。Pythonファイルの空白を変換する?
痛みを伴うコードの統合...私のエディタは、タブまたはスペースで作業することを望んでいますが、両方では動作しません。
linuxにはコマンドライン機能がありますか、まあまあ、Pythonコードの書式を片方向に変換するものはありますか?
reindent.pyは、すべてのpython .pyファイルを、4-spaceインデントとタブなしを使って1つに変換する素晴らしいユーティリティスクリプトです。
これは、4つの空間の基準に納得していると仮定して、異種のソースからコードを「正規化する」のに便利です。 (または、タブが必要な場合はreindent.pyを実行してから、uncom unexpand
コマンドを実行することができます)。
PS。 Pythonのインストールでは、reindent.pyが既にToolsまたはExamplesフォルダにインストールされている可能性があります。 Ubuntuでは、python-examples
パッケージによって提供され、/usr/share/doc/python2.6/examples/Tools/scripts/reindent.py
にあります。
多くのエディタ(viなど)は、行を字下げしたときにタブを空白に変換します。だから、タブの設定をしたいのですが、その後、ファイル全体を1ステップ分インデントしてから、1ステップ分インデントしてください。
Vimのコマンド:
1GVG <-- select entire file (i have this bound to CTRL-A)
> <-- indent one step
1GVG <-- select again
< <--- unindent one step
いくつかの情報
は '男が展開する' それはあなたが Unixが、このためのコマンドとunexpandのを展開するを使用することができますDebianの
上coreutilsのであります。
一般に、私がvimでコードすると、私は自動的にタブをスペースに変換します。
set expandtab
set tabstop=4
方法のPerlについて:perl -pe 's/(.*?)\t/$1.(" " x (4-length($1)%4))/ge' file_with_tabs.txt
パイソン(これは値下げのソースからです...):
def _detab_sub(self, match):
g1 = match.group(1)
return g1 + (' ' * (self.tab_width - len(g1) % self.tab_width))
def _detab(self, text):
if '\t' not in text:
return text
return self._detab_re.subn(self._detab_sub, text)[0]
は私の〜/ .vimrcとこのようになります
良いプログラマーのエディタには、タブをスペースまたはその逆に変換するコマンドがあります。エディタで検索と置換を行うこともできます。
これはRedhatのcoreutilsにもあります。また、他の方法で変換するために 'unexpand'を使います。 – tylerl