If you're working through the file system, you can use any text editor to write templates, configuration files (xml, zcml) and the small amounts of Python code you'll need.
You might find the following useful:
Zope/Plone TextMate support¶
You will have to check this out of the collective svn - instructions on how to do this can be found on http://svn.plone.org. There is also a Windows version of Textmate (http://www.e-texteditor.com/).
Checking template syntax¶
A quick and dirty route to finding out what's wrong with a template you've written yourself is to customize it through the Zope Management Interface. However you can also set up your own checking, to run before you install a template on your site:
this is a little complex if you're not comfortable with Python, but it's worth the effort in the long run.
Python code editors¶
Something a little more advanced than Notepad will give you code highlighting for Python. You'll find a comprehensive listing here
Integrated Development Environments¶
If you fancy using an IDE, then there are plenty of options, though these are directed towards Python development rather than writing or customizing templates:
Other IDEs include Wing (http://www.wingware.com/), BoaConstructor and Komodo (http://www.activestate.com/Products/komodo_ide/index.mhtml).