Vim で言語に関係なくコメントアウト行う

さて、各言語によっていコメントアウトの方法は違うので、複数の言語を扱っている場合にコメントアウトの方法を間違えてしまうことがあると思います。
そんな時に caw.vim プラグインを使用することで言語を意識せずにコメントアウトを行うことが出来ます。

[プラグイン]

NeoBundle "git://github.com/tyru/caw.vim.git"

[キーマッピング]

gci 文の頭からコメントアウト
gcI 行頭からコメントアウト
gca 行末にコメントアウト
gco カーソル行の下にコメントアウト
gcO カーソル行の上にコメントアウト

gco と gcO 以外はビジュアルモードでもマッピングされているので複数行のコメントアウトもスムーズに行うことが出来ます。
詳細は :help caw-introduction や :help caw-keymappings を参照下さい。

[_vimrc]

" コメントアウトを切り替えるマッピング例
nmap <Leader>c <Plug>(caw:I:toggle)
vmap <Leader>c <Plug>(caw:I:toggle)

[対応している言語]

:help caw-supported-filetypes

abaqus abc acedb ada ahdl amiga aml ampl ant apache apachestyle asm68k asm asn
aspvbs atlas autohotkey autoit automake ave awk basic b bc bdf bib bindzone
bst btm caos catalog c cfg cg ch changelog cl clean clipper cmake conf config
context cpp crontab cs csc csp css cterm cupl csv cvs dcl debchangelog
debcontrol debsources def diff django docbk dns dosbatch dosini dot dracula
dsl dtd dtml dylan ecd eiffel elf elmfilt erlang eruby eterm expect exports
fetchmail fgl focexec form fortran foxpro fstab fvwm fx gdb gdmo geek
gentoo-package-keywords' gentoo-package-mask' gentoo-package-use' gnuplot
gtkrc haskell hb h help hercules hog html htmldjango htmlos ia64 icon idlang
idl indent inform inittab ishd iss ist jam java javascript jess jgraph
jproperties jproperties jsp kconfig kix kscript lace lex lftp lifelines lilo
lisp lite lotos lout lprolog lscript lss lua lynx m4 mail make maple masm
master matlab mel mf mib mma model moduala.  modula2 modula3 monk mush muttrc
named nasm nastran natural ncf netdict netrw nqc nroff nsis objc ocaml occam
omlet omnimark openroad opl ora otl ox pascal passwd pcap pccts perl pfmain
php phtml pic pike pilrc pine plaintex plm plsql po postscr pov povini ppd
ppwiz procmail progress prolog psf ptcap python python qf radiance ratpoison r
rc readline rebol registry remind rexx robots rpl rtf ruby sa samba sas sass
sather scheme scilab screen scsh sdl sed selectbuf sgml sgmldecl sgmllnx sh
sicad simula sinda skill slang sl slrnrc sm smarty smil smith sml snnsnet
snnspat snnsres snobol4 spec specman spice sql sqlforms sqlj sqr squid st stp
strace svn systemverilog tads taglist tags tak tasm tcl terminfo tex text
plaintex texinfo texmf tf tidy tli trasys tsalt tsscl tssgm uc uil vb verilog
verilog_systemverilog vgrindefs vhdl vim viminfo virata vo_base vrml vsejcl
webmacro wget winbatch wml wvdial xdefaults xf86conf xhtml xkb xmath xml
xmodmap xpm2 xpm xslt yacc yaml z8a


これで各言語のコメントアウトが分からなくて悩む必要はなくなると思います。