In Linux terminal, I'm mostly using vim (not that I'm very skillful at using it), on KDE desktop I've been using its default Kate. Haven't really wasted time on looking for a better one.
Notepad++ is what I'm using in Windows.
One of the Windows Notepad's major problems is that it will add "invisible" carriage return and line feed characters to the end of every line the moment you switch on word wrap mode. Depending on what kind of files you're editing, the result can cause havoc.
Second one is that it does'nt respect Unix style newlines without carriage return (Unix text has no line breaks if you open it in Windows Notepad).
This article seems to explain it pretty well, including how to distinguish between them and convert:
You must be registered to see the links
More information about it:
You must be registered to see the links
Third problem is about UTF-8 compatibility. It has been improved since Windows Vista (if I remember correctly), but until recently it was unable to save UTF-8 without BOM. Maybe it still is, not sure.
All three without even mentioning its poor functionality.
All three are the kind of problems that a person who has never edited any kind of code, has no knowledge about the differences between DOS and Unix text format or character encodings and has no other text editor installed to look at the code or convert it back to Unix format, may end up with mysterious and invisible compatibility problems that can cause mysterious errors while the code in Notepad still looks fine.
A beginner may possibly crack his poor head over this for days. Been there, done that.