2009-05-15 19 views
2

私はPythonでコードを書いているので、突然コードの前に新しいブロックを追加するように感じます。すでに書かれています....完全なコードのインデントは影響を受けます。 これは非常に退屈なプロセスですそれぞれの行に移動し、インデントを変更するには...オートインデントや何かを行うにはどのような方法...Python GUIのインデント

があります。例:

def somefunction: 
    x =5 
    return x 

私はCONTRLブロックを追加したい場合は

例:

def somefunction: 
    if True: 
     x =5 
     return x 
    return 0 

制御ブロックを追加するこの小さな変化が、タブの作業の多くを取った....

は簡単にこれを行うには、ショートカットまたはsumthingはありますか?

+2

どのテキストエディタを使用していますか? –

+6

より良いテキストエディタですか? – SilentGhost

+0

IDE(統合開発環境)を意味しますか? GUI(Graphic User Interface)は、ほとんど何でも意味します。 IDEは、ほとんどの人がコードを書くのに使うものです。 –

答えて

5

Iドンどんな奇妙な惑星が誰から来ているのか知っていませんが、石器時代にさかのぼる殆どのエディタでは、コードのブロックをインデントすると、通常はテキストのブロックを選択してタブを押すだけで済みます。裏返しで、Shift + Tabは通常ブロックを打ち消します。

これは、Visual Studio、Notepad2を、電子、TextMateの、Slickedit、#Develop、のために真であるなどなどなど

あなたは大規模な複数ファイルのプロジェクトをやっていない場合、私は強くNotepad2をお勧めします。

+1

シフトタブは通常インデントされません。 ctrl-tabはMDIウィンドウを循環します(MDIアプリケーション内)。 – jmucchiello

+0

あなたは正しいと思います。 – Soviut

+0

私はアイドルでは少し失望していますが、Shift-Tabでインデントを増やしてください。 –

3

アイドルエディタでは、インデントする行を選択してTabキーを押すだけで済みます。

これは実際には、ソースにはスペースだけでタブを挿入しないことに注意してください。

2

IDLEでは、コードブロックに対してCtrl +]とCtrl + [[]を使用します。

1

VIを使用し、同じことをもう一度プログラムしないでください。 :適切な方向にテキストを移動するには


⌘+ [
または
⌘+]

:TextMateで^)

+3

これは多くのレベルで当てはまります。 –

+0

...それらのすべてが良いわけではありません! (お詫び申し上げます): –

0

、ちょうどあなたがインデントし、使用したい行を強調表示します。

+1

編集:申し訳ありませんが、これはMacの下でのみです!私の間違い。私はいくつかの午前中に他のプラットフォームがあることを忘れています... – Aaron

+0

彼はMac上でない場合、彼はTextMateを使用していないと確信しています。 – gnud

+0

なぜこれを投票するのですか? –

0

PyDevには、http://pydev.sourceforge.net/に「コードフォーマッタ」があります。また、自動インデント機能も備えています。 Eclipse用のプラグインで、Macでも無料で利用できます。

もう1つのオプションは、Pythonだけでなく多くの自動インデント機能を持っているVimに慣れていたり、時間を費やしている場合はhttp://code.google.com/p/macvim/となります。

しかし、PythonではインデントがC言語とは異なり、プログラムの意味を変更することを忘れないでください。たとえば、CまたはC#の場合、ユーティリティプログラムは "{"と "}"記号に従ってコードを美化することができます。

#Say we wrote the following and expect it to be formatted. 
a = 1 
for i in range(5): 
print i 
a = a + i 
print a 

は、あなたは、2つの異なるスニペットです

a = 1 
for i in range(5): 
    print i 
a = a + i 
print a #Will print 5 

または

a = 1 
for i in range(5): 
    print i 
    a = a + i 
print a #Will print 11 

ことを期待してください:プログラムは以下の書式を設定することはできませんので、しかし、Pythonであいまいになること。

+0

私はあなたの意見を理解しています.. しかし、私はちょうどコードの前に新しいブロックを追加すると、ブロックをインデントする簡単な方法がほしいと思っていました... シンプルなタブ設定自体が問題を解決... – vignesh

2

を持っていた場合は、Pythonのモードがあります1、開発者少ないが必要になることを告げました。このモードでは、あなたが強調表示し、実行します。

ctrl-c > 
ctrl-c < 
1

Vimの:、ビジュアルモードに切り替えてブロックを選択し、使用>(インデント解除するか<)インデントします。

も参照してください:Indent multiple lines quickly in vi

1

あなたがVimを使用している場合、プラグインは、このために特別にあります:Python_fn.vim

それは便利なPythonの機能を提供(およびメニュー同等物):

]t  -- Jump to beginning of block 
]e  -- Jump to end of block 
]v  -- Select (Visual Line Mode) block 
]<  -- Shift block to left 
]>  -- Shift block to right 
]#  -- Comment selection 
]u  -- Uncomment selection 
]c  -- Select current/previous class 
]d  -- Select current/previous function 
]<up> -- Jump to previous line with the same/lower indentation 
]<down> -- Jump to next line with the same/lower indentation 
0

コモドでは、TabキーとShift Tabの両方が期待どおりに機能しますが、これは非常に軽量で、使いやすく、使いやすいメモ帳の置き換えです(行番号、インデントガイド、コードハイライトなど)。コードのインデントとインデントのない大きなブロック。

0

vimのでは、次のように入力します。

>>

は行をインデントします。あなたが入力した場合:

5>>

を、あなたはカーソル位置と下の5行をインデント。 5<<はその逆です。