Also, you can use the NppExec plugin along with your favorite scripting language (AWK, PERL, Python, PHP, etc.) to add extended capabilities to NPP. It takes a bit of work to set it up, but once you do, it opens a lot of doors.
On my context menu I have a Comment submenu that has various forms of comments I can select. They are either applied to the highlighted lines or to the entire file (when nothing is highlighted). To do this I use a combination of NPP Exec and AWK scripts.
I also created the ability to change either ALL or only LEADING tabs into the appropriate number of spaces for the type of file, trim trailing white space, and convert the current “word” into a global variable format I use in the same general manner (NPP Exec and AWK). All these functions work on either the highlighted or all of lines of the file.