aboutsummaryrefslogtreecommitdiff
path: root/vim/after/ftplugin/diff.vim
blob: 798c7089fba951f6a0752476a22f91e9dff6ea64 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
" Extra configuration for diffs
if &filetype !=# 'diff' || v:version < 700 || &compatible
  finish
endif

" Stop here if the user doesn't want ftplugin mappings
if exists('g:no_plugin_maps') || exists('g:no_diff_maps')
  finish
endif

" Modify curly braces to navigate by diff block
nnoremap <buffer> <silent> <LocalLeader>[
      \ :call search('\m^@@', 'bW')<CR>
nnoremap <buffer> <silent> <LocalLeader>]
      \ :call search('\m^@@', 'W')<CR>
let b:undo_ftplugin .= '|nunmap <buffer> <LocalLeader>['
      \ . '|nunmap <buffer> <LocalLeader>]'

" Set mappings
nmap <buffer> <LocalLeader>p
      \ <Plug>(DiffPrune)
xmap <buffer> <LocalLeader>p
      \ <Plug>(DiffPrune)
nmap <buffer> <LocalLeader>pp
      \ <Plug>(DiffPrune)_
let b:undo_ftplugin .= '|nunmap <buffer> <LocalLeader>p'
      \ . '|xunmap <buffer> <LocalLeader>p'
      \ . '|nunmap <buffer> <LocalLeader>pp'