Vimのキーマッピングを確認する


vimのキーマッピングを確認する方法を調べたのでメモ。
ついでにvimのhelpを日本語化する方法も。

参考サイト：[Vimで現在割り当てられているショートカットキーの一覧を見る](http://blog.ruedap.com/2011/01/11/vim-keyboard-shortcut-key)
（ほとんどここの内容です）

# vimのキーバインド一覧の確認
## デフォルトキーバインドの一覧

以下のテキストをヘルプコマンドで参照する

```
:help index.txt
```

ヘルプを日本語化していれば、日本語で一覧が表示される。

## 自分で割り当てたキーマップの確認
`.vimrc`で自分で割り当てたキーマップの確認は以下のコマンドで確認する。

```vim
:map " すべて確認
:imap " インサートモードだけ
:nmap " ノーマルモードだけ
:vmap " ヴィジュアルモードだけ
:verbose nmap " 定義元ファイル情報も表示
```

# vimのHELPの日本語化
1. Vim Documents in Japanese から「Vim日本語ドキュメント」のスナップショット版（vimdoc_ja-snapshot.tar.bz2）をダウンロードする
2. 解凍してできたdocフォルダとsyntaxフォルダを、.vim内1にコピーする（Macの場合はペーストで置き換えにならないように注意）
3. Vimを起動して、以下のコマンドを実行する

```vim
:helptags $HOME/.vim/doc  " Macの場合
:helptags $VIM/vimfiles/doc  " Windowsの場合
```

# おまけ。
## キーマッピングの考え方で参考にしているサイト
[vimでキーマッピングする際に考えたほうがいいこと](http://deris.hatenablog.jp/entry/2013/05/02/192415)

私は自分でキーバインドを設定するときはプラグイン系は主に<Space>をprefixとして（さらに、プラグインの場合は<Space>の後にプラグイン名や機能をつけます）設定することが多いのですが、このサイトの考え方の影響が大きいです。
一度自分のキーマッピングの定義基準をまとめてみたいですね。

## vimrcの構造化
vimrcはこうなってます（整理中）。

```.vimrc
"-------------------------------------------------------------------------------
" .vimrc
" user: wakaba260 (twitter:@wakaba260yen)
"-------------------------------------------------------------------------------
" 初期化
source ~/dotfiles/vimrc/.vimrc.init

" NeoBundle設定
source ~/dotfiles/vimrc/.vimrc.bundle

" 基本設定
source ~/dotfiles/vimrc/.vimrc.basic

" 文字コード設定
source ~/dotfiles/vimrc/.vimrc.encoding

" 表示設定
source ~/dotfiles/vimrc/.vimrc.appearance

" カラースキーマ設定
source ~/dotfiles/vimrc/.vimrc.colorscheme

" インデント設定
source ~/dotfiles/vimrc/.vimrc.indent

" 検索設定
source ~/dotfiles/vimrc/.vimrc.search

" キーマッピング設定
source ~/dotfiles/vimrc/.vimrc.mapping

" ファイルタイプ設定
source ~/dotfiles/vimrc/.vimrc.filetype

" プラグイン設定
source ~/dotfiles/vimrc/.vimrc.plugin
```

.vimrc.pluginの中はさらに構造化してあって、

```.vimrc.plugin
"-------------------------------------------------------------------------------
" プラグイン設定 Plugin Settings
"-------------------------------------------------------------------------------
source ~/dotfiles/vimrc/plugin/.vimrc.plugin.yankround
source ~/dotfiles/vimrc/plugin/.vimrc.plugin.ctrlp
source ~/dotfiles/vimrc/plugin/.vimrc.plugin.over
source ~/dotfiles/vimrc/plugin/.vimrc.plugin.quickrun
source ~/dotfiles/vimrc/plugin/.vimrc.plugin.fugitive
source ~/dotfiles/vimrc/plugin/.vimrc.plugin.vim-indent-guides
source ~/dotfiles/vimrc/plugin/.vimrc.plugin.vim-emmet
source ~/dotfiles/vimrc/plugin/.vimrc.plugin.smartchr
source ~/dotfiles/vimrc/plugin/.vimrc.plugin.neosnippet
source ~/dotfiles/vimrc/plugin/.vimrc.plugin.unite
source ~/dotfiles/vimrc/plugin/.vimrc.plugin.vimfiler
source ~/dotfiles/vimrc/plugin/.vimrc.plugin.vimshell
source ~/dotfiles/vimrc/plugin/.vimrc.plugin.zenkaku
source ~/dotfiles/vimrc/plugin/.vimrc.plugin.syntastic
source ~/dotfiles/vimrc/plugin/.vimrc.plugin.html5
" source ~/dotfiles/vimrc/plugin/.vimrc.plugin.cake
source ~/dotfiles/vimrc/plugin/.vimrc.plugin.javascript-libraries-syntax
source ~/dotfiles/vimrc/plugin/.vimrc.plugin.simple-javascript-indenter
source ~/dotfiles/vimrc/plugin/.vimrc.plugin.transparency
source ~/dotfiles/vimrc/plugin/.vimrc.plugin.gitgutter
source ~/dotfiles/vimrc/plugin/.vimrc.plugin.vim-lightline
source ~/dotfiles/vimrc/plugin/.vimrc.plugin.smartinput
source ~/dotfiles/vimrc/plugin/.vimrc.plugin.vim-rails
source ~/dotfiles/vimrc/plugin/.vimrc.plugin.switch
```

みたいな感じです。
最初は[vimrc整理術](http://qiita.com/naoty_k/items/674787bc2d9885f81a0b)を参考にしてmodelineやマーカーを使ってたのですが、検索や閉じたり開いたりが意外とめんどくさかったので、[こちらのvimrc](https://github.com/yuroyoro/dotfiles)を参考に構造化してみました。
プラグインの設定ファイルの中身は一行のものなどもあるので無駄かとも思ったんですが、一時的に使っていないプラグインの設定ファイルなどをすぐにコメントアウトで外すことが出来たりしますし、見た目がすっきりするので良かったと思います。
キーマッピングを検索できないのはめんどくさいと思ってたんですが、一覧で調べられるのなら問題なさそうです。
vimrcについても整理が一段落したら公開してみたいですね。