Apart from an editor, there are several other tools that a programmer should know fairly well.
It is essential that to have a tool that allows a team to save and restore code from a central repository. For the kinds of project I have worked on, I have found that cvs works best.
A scripting language is like a swiss-army knife - useful for lots of things, and a must-have in any project. It can be used for:
C code from shorter descriptions.
I tend to use Python, gawk, and shell scripts.
A build tool such as make is essential for creating larger programs. There are various make variants available. I tend to use GNU make.