Vim can handle most things pretty well (and gvim is a graphical version). You may want to use this script or this tip if you do a lot of this. But of course vim is not for everybody.
And then of course there is the command line approach. For viewing and basic searching within a file less) works well. For more complex searching you can use grep (or egrep or fgrep). To just see the top or bottom of the file you can use head and tail. It is well worth learning these tools if you do any serious text processing, they can make life much easier.
For compressed files you can use zless, zgrep, zegrep, zcat, zipgrep ...
These should be standard on Linux, Mac OS X and other *nix. For windows use the cygwin package.
Finally google found me this discussion on the joel on software board