diff options
author | Tom Ryder <tom@sanctum.geek.nz> | 2018-08-27 17:18:05 +1200 |
---|---|---|
committer | Tom Ryder <tom@sanctum.geek.nz> | 2018-08-27 17:18:05 +1200 |
commit | 673c96515da477e2a4f14d9466153ff0874777aa (patch) | |
tree | b468bedc1fb438fd582275800e3482fbd758e08c /vim/after/ftplugin | |
parent | Correct a comment (diff) | |
download | dotfiles-673c96515da477e2a4f14d9466153ff0874777aa.tar.gz dotfiles-673c96515da477e2a4f14d9466153ff0874777aa.zip |
Improve diff block navigation in Vim with function
Diffstat (limited to 'vim/after/ftplugin')
-rw-r--r-- | vim/after/ftplugin/diff.vim | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/vim/after/ftplugin/diff.vim b/vim/after/ftplugin/diff.vim index 798c7089..a52b3fdd 100644 --- a/vim/after/ftplugin/diff.vim +++ b/vim/after/ftplugin/diff.vim @@ -8,13 +8,25 @@ if exists('g:no_plugin_maps') || exists('g:no_diff_maps') finish endif -" Modify curly braces to navigate by diff block +" Maps using autoloaded function for quoted block movement nnoremap <buffer> <silent> <LocalLeader>[ - \ :call search('\m^@@', 'bW')<CR> + \ :<C-U>call diff#MoveBlock(v:count1, 1, 0)<CR> nnoremap <buffer> <silent> <LocalLeader>] - \ :call search('\m^@@', 'W')<CR> + \ :<C-U>call diff#MoveBlock(v:count1, 0, 0)<CR> +onoremap <buffer> <silent> <LocalLeader>[ + \ :<C-U>call diff#MoveBlock(v:count1, 1, 0)<CR> +onoremap <buffer> <silent> <LocalLeader>] + \ :<C-U>call diff#MoveBlock(v:count1, 0, 0)<CR> +xnoremap <buffer> <silent> <LocalLeader>[ + \ :<C-U>call diff#MoveBlock(v:count1, 1, 1)<CR> +xnoremap <buffer> <silent> <LocalLeader>] + \ :<C-U>call diff#MoveBlock(v:count1, 0, 1)<CR> let b:undo_ftplugin .= '|nunmap <buffer> <LocalLeader>[' \ . '|nunmap <buffer> <LocalLeader>]' + \ . '|ounmap <buffer> <LocalLeader>[' + \ . '|ounmap <buffer> <LocalLeader>]' + \ . '|xunmap <buffer> <LocalLeader>[' + \ . '|xunmap <buffer> <LocalLeader>]' " Set mappings nmap <buffer> <LocalLeader>p |