I use comments.vim from Jasmeet Singh Anand (found on vim.org),
It works with C, C++, Java, PHP[2345], proc, CSS, HTML, htm, XML, XHTML, vim, vimrc, SQL, sh, ksh, csh, Perl, tex, fortran, ml, caml, ocaml, vhdl, haskel, and normal files
It comments and un-comments lines in different source files in both normal and visual mode
Usage: