you are going to get a number of suggestions for this. IMO I prefer ssh as it is more secure then ftp.
Bluefish
Not exactly what you want, but if you like bluefish I would download the file, edit it locally, and then upload it back to the server.
vim/gvim
The reason I mention vim is that, although there is a bit of a learning curve, it is a powerful editor and so helpful on servers.
You may need to install these applications
sudo apt-get install vim vim-gnome
You can edit files over ssh or ftp with vim or if you prefer a graphical interface gvim.
# command line
vim scp://user@server//file/to/edit
# Graphical
gvim scp://user@server//file/to/edit
Notice the two //
;p
sshfs
You can also use sshfs to mount the remote directory and then you could open the file with bluefish.
Install sshfs
sudo apt-get install sshfs
Add your user to the fuse group
Then mount the remove file system in your home directory
# Use any name for the mount you wish
mkdir ~/web_server
# mount the remote directory
# keep the syntax 'idmap=user'
# id@server = your login_name@server
sshfs -0 idmap=user id@server:/var/www ~/web_server
You then can use bluefish, or any editor you wish to edit files in ~/web_server
See ubuntu wiki sshfs
From windows you can use winscp