I have an aversion for vi. It’s present on every linux box so I had to learn how to use it but I very much dislike it, it’s a pain the the ass to use. (Emacs is no better by the way)
I found a brilliant solution for that problem though. In Linux there is a thing called FUSE and another thing called sshfs.
That lets you mount a directory from the server onto your workstation filesystem, without any changes to the server (assuming you have sshd running, which of course you are). Then you can use your favourite GUI editor (mine is Scite) to edit your php and css. Brilliant stuff.
It also helps that my server is on the same lan as my workstation, so I get LAN transfer speeds, so the mounted network filesystem acts as fast as a harddrive.
Now I can use a nice editor to make my changes, a nice file manager to work with files and folders, and after making a change I just go to the browser and hit reload. This is so much more efficient than the command line!
Potentially I can even run svn commands from the workstations but I don’t think I will try that because the svn on my workstation is much newer than that on my server, so I expect that would cause problems.
I do keep a terminal to the server running in case there’s a critical error in my php. Running php from the command line is sometimes an easier way to find the bug.