Most of the recommendations have focused on text editors, but I can assure you that Textmate will be perfectly serviceable in that department. I use it every day and love it. It's the first text editor that made me think I could take the pragmatic programmers' advice to use the same editor for all tasks.
If you're going to stick with textmate, I'd recommend getting the
GetBundle bundle. While you may not need it for a while (php and ruby/rails support is great out of the box... er, internet), it does make updating and managing your bundles pretty nice.
Speaking of bundles, I'd learn how to take advantage of the automation that textmate allows. (this goes for any editor you end up in.) Learn to record macros (so obvious in textmate I hesitate to call it learning), pay attention to the available snippets and other keyboard shortcuts, and learn to create your own snippets/commands. There will come some point in the future where you find yourself reusing similar code structure or a command line utility, and the tools in textmate make it a breeze to automate those things.
The recommendation for rubygems and rails makes a lot of sense if you're looking at php and ruby. I'm guessing you're interested in ruby for web development, and rails is a lot of fun to play with. Probably the best thing I can recommend to improve your workflow is a book. The second edition of
Agile Web Development with Rails is available as a pdf right now. It may be the best rails book available at the moment.
I also second the call for version control. Even if you're just developing on your own, get used to putting all of your code in a version control system. Your life will be MUCH easier when you decide to try something, find it doesn't work, and don't quite remember what you did before you broke your code. It's way better to use version control than end up with 5 similarly named but slightly functionally different files. Trust me, I've done it both ways. And there's a subversion bundle for textmate that makes it easy to integrate.
If you are going to be sharing a project, some sort of bug tracking software is nice. It helps keep track of what people are working on, and provides some focus on where to go next.
I'd also recommend learning to be happy in Terminal. You'll need it for rails, and there are a lot of tools available there if you know how to use them. Oh, and if you're using ruby, don't underestimate the power of an interactive interpreter (irb for ruby) to try stuff out in. It's a really nice sandbox at times. The same goes for python, which I very much enjoy developing in.
If you have any questions about particular pieces of your workflow, I'd encourage asking for clarification. It's hard to think of all the pieces that make things go smoothly from day to day. And there's still a lot I could learn, too!