キーマッピングの一覧表示
下記のようにマッピングするかを設定できるようにしてくれている場合がある。
let g:gitgutter_map_keys = 0
autocmdでunmapする方法もある
autocmd VimEnter * nunmap <leader>hs
mapはユーザ定義のマッピングに割り当てる。
remapはVimのデフォルトマッピングに割り当てる。
下記の例だとtはデフォルトの挙動の通り数字をインクリメントするが、gはユーザが定義した<C-a>の動きにマッピングされているのでデクリメントされる。
map <C-a> <C-x>
noremap t <C-a> " =>デフォルト通りインクリメント
map g <C-a> " =>ユーザ定義で変えられた通りデクリメント
基本的にはnoremapを使っておけば意図しない挙動を防げるはず。
端末上だとCtrl + SpaceはNulが送信されるみたいなのでそれをCtrl + Spaceにマッピングする
imap <Nul> <C-Space>
imap <C-Space> hoge
map関数の引数に<buffer>
、<nowait>"
、<silent>
、<special>
、<script>
、<expr>
、
<unique>
を指定できる。
ヘルプは下記
:h map-arguments
<buffer>
: カレントバッファだけで使用できるマップを作成する場合に使用:h index.txt
:map " すべて確認
:imap " インサートモードだけ
:nmap " ノーマルモードだけ
:vmap " ヴィジュアルモードだけ
:verbose nmap " 定義元ファイル情報も表示
:map [検索したい文字列]
ワイルドカードも使える。 また、他のコマンドでも利用可能
:redir > file
:map
:redir END
:redir @a でレジスタに格納もできる。
また、:redir => a でレジスタに格納できるので
:redir => a
:silent map
:redir END
"新しいバッファで
put =a
とすると新しいバッファに出力が貼り付けされる。