jEdit "is a mature programmer's text editor" with support for lots of programming language and text file formats, and many plugins to extend its capabilities. It is written in Java, making it available across various platforms.
Out of the box it supports editing Drupal-related files including PHP, HTML and XML.
I find it helpful to turn on line numbering in the gutter. While having the Global Options menu open, click on 'Gutter' and select line numbering.
In the Global Options section, 'General', an important option is the default line separator. It should probably be set to Unix (using '\n').
There are some useful plugins to install. From the Plugin Manager (Plugins menu) click on the Install section. It shows you the list of available plugins and you can select them as desired.
FTP lets you treat files on FTP or SFTP servers as if they were part of the file system. Once this is installed, choose Open File and under plugins see FTP and that it has two choices Connect to FTP server and Connect to SFTP server. Fill in your user name and password as appropriate and away you go.
The plugins include jEditCVS and SVNplugin for interfacing with source code repositories.
Two plugins interface with database servers, DBTerminal and SQL.
PHPParser adds additional PHP editing features beyond syntax coloring.