gregsexton / gitv

gitk for Vim.
938 stars 59 forks source link

Allow customizing keyboard mappings #73

Closed achalddave closed 10 years ago

achalddave commented 10 years ago

I use <C-[hjkl]> for split navigation, which means that I tend to get a little confused when I'm using Gitv. However, I do like using <C-n>, <C-p>, which means I can't just let g:Gitv_DoNotMapCtrlKey = 0. I'm not sure what the easiest way to fix this is, however.

One option is to create a number of variables such as Gitv_MapMoveForwardCommit and use them inside of gitv. This is a little ugly in the plugin code, unfortunately.

Another is to make it easier to map keys for gitv (I couldn't figure out how to do so right now, easily). So I can easily do nnoremap <C-n> :GitvMoveForwardCommit() and similar for <C-p> and disable all control keys. This fixes my issue, but the previous is more configurable.

I could try to do this but I'm not sure which is easier / preferable.

gregsexton commented 10 years ago

As you pointed out, I don't really want to go the route of creating a variable for every binding. The best thing to do here is to disable all ctrl bindings using let g:Gitv_DoNotMapCtrlKey = 0 and map just the ones you want for the buffer using an autocmd.