Necessary to me:<p>1. Reasonable syntax highlighting.<p>2. Handles large files.<p>3. Tab/Space configurable.<p>4. Handles multi-line indentation in a user-friendly way<p>5. Cross Platform<p>6. Edit files via FTP connection.<p>Important to me:<p>1. Some amount of "project" understanding.<p>2. Column mode.<p>3. Hex editor.<p>4. Memory sensitive, quick startup.<p>UltraEdit - I haven't found anything superior to UltraEdit's project management, column mode, and hex editing (available for Windows, Mac, and Linux - but commercial).<p>gedit - You don't always need project management, column mod, and hex editing, and in that case gedit still supports edit over FTP and other standard perks that UltraEdit offers - and uses far less memory. gedit is also available for Windows, Mac, and Linux, but I've only ever used it on Linux.<p>vim - You need to be at least capable with some terminal editor, otherwise you'll be sorry when you inevitably need to learn one during an emergency. vi/vim, nano, emacs, whatever - I like vim.