Vimのヘルプウィンドウをqだけで閉じられるようになった(+α)

Vimについて何かを調べるときは必ずといっていいほどVimのヘルプ機能(:help)を利用しているのだけど,ヘルプで開いたウィンドウを閉じるときに:qcと入力するのは多少面倒だと前々から感じていた.

そこで「ヘルプウィンドウの場合はqを押すだけで閉じられる」みたいな設定をしてみようと思いつつ,昨日Twitterで以下のようにつぶやいたら,
http://twitter.com/mickey24/status/1639291126

kanaさんから1分でリプライが来た件.早い><
http://twitter.com/kana1/statuses/1639298566


まだautocmdを調べている段階だったのに…!
というわけで教えていただいた通りに.vimrcを記述.

autocmd FileType help nnoremap <buffer> q <C-w>c

試しにヘルプウィンドウにカーソルがある状態でqを押したところ,ちゃんとウィンドウを閉じることができた.指の負担が大きく減って快適になったよ!@kana1++

ヘルプファイルのFileTypeはhelp(FileTypeは:set filetype?で確認できる)だから,autocmdを使ってFileType helpのとき用のコマンドを書けばいいよという話.そして,nnoremapでqをcにマッピング.が指定されているから,このマッピングは現在のバッファ内だけで有効.なるほどなるほど.


おまけ.


最近git-vimを使い始めてみた.git-vimはVimからgitを利用するためのプラグインで,gsでgit statusを表示したり,gcでgit commitしたりできるので便利.

で,このgit-vimで開いたgit statusやgit logのウィンドウもqだけで閉じられるといいなーと思ったので,それぞれのFileTypeを調べて以下のように.vimrcに設定を記述してみた.

for ft in ['help', 'git-status', 'git-log']
  execute 'autocmd FileType' ft 'nnoremap <buffer> q <C-w>c'
endfor

せっかくなのでfor文を使って書いてみた.ちゃんとqだけで閉じられるようになって快適.

追記

for文必要ないみたいです><

autocmd FileType help,git-status,git-log nnoremap <buffer> q <C-w>c

id:thincaさん,コメントありがとうございました.