@@ -18,22 +18,36 @@ if !hasmapto('<Plug>(dirvish_K)', 'n')
18
18
execute ' xmap ' .s: nowait .' <buffer> K <Plug>(dirvish_K)'
19
19
endif
20
20
21
- execute ' nnoremap ' .s: nowait .' <buffer><silent> ~ :<C-U>Dirvish ~/<CR>'
22
- execute ' nnoremap ' .s: nowait .' <buffer><silent> i :<C-U>.call dirvish#open("edit", 0)<CR>'
23
- execute ' nnoremap ' .s: nowait .' <buffer><silent> <CR> :<C-U>.call dirvish#open("edit", 0)<CR>'
24
- execute ' nnoremap ' .s: nowait .' <buffer><silent> a :<C-U>.call dirvish#open("vsplit", 1)<CR>'
25
- execute ' nnoremap ' .s: nowait .' <buffer><silent> o :<C-U>.call dirvish#open("split", 1)<CR>'
26
- execute ' nnoremap ' .s: nowait .' <buffer><silent> p :<C-U>.call dirvish#open("p", 1)<CR>'
27
- execute ' nnoremap ' .s: nowait .' <buffer><silent> <2-LeftMouse> :<C-U>.call dirvish#open("edit", 0)<CR>'
21
+ " The patch 8.2.1978 adds '<cmd>' to Vim.
22
+ if has (' patch-8.2.1978' )
23
+ let s: command_prefix = ' <cmd>'
24
+ let s: call_prefix = ' <cmd>'
25
+ let s: command_suffix = ' '
26
+ else
27
+ let s: command_prefix = ' :<C-U>'
28
+ let s: call_prefix = ' :<C-U>.'
29
+ let s: command_suffix = " :echon ''<CR>"
30
+ endif
31
+ execute ' nnoremap ' .s: nowait .' <buffer> ~ ' .s: command_prefix .' Dirvish ~/<CR>' .s: command_suffix
32
+ execute ' nnoremap ' .s: nowait .' <buffer> i ' .s: call_prefix .' call dirvish#open("edit", 0)<CR>' .s: command_suffix
33
+ execute ' nnoremap ' .s: nowait .' <buffer> <CR> ' .s: call_prefix .' call dirvish#open("edit", 0)<CR>' .s: command_suffix
34
+ execute ' nnoremap ' .s: nowait .' <buffer> a ' .s: call_prefix .' call dirvish#open("vsplit", 1)<CR>' .s: command_suffix
35
+ execute ' nnoremap ' .s: nowait .' <buffer> o ' .s: call_prefix .' call dirvish#open("split", 1)<CR>' .s: command_suffix
36
+ execute ' nnoremap ' .s: nowait .' <buffer> p ' .s: call_prefix .' call dirvish#open("p", 1)<CR>' .s: command_suffix
37
+ execute ' nnoremap ' .s: nowait .' <buffer> <2-LeftMouse> ' .s: call_prefix .' call dirvish#open("edit", 0)<CR>' .s: command_suffix
28
38
execute ' nnoremap ' .s: nowait .' <buffer><silent> dax :<C-U>arglocal<Bar>silent! argdelete *<Bar>echo "arglist: cleared"<Bar>Dirvish<CR>'
29
39
execute ' nnoremap ' .s: nowait .' <buffer><silent> <C-n> <C-\><C-n>j:call feedkeys("p")<CR>'
30
40
execute ' nnoremap ' .s: nowait .' <buffer><silent> <C-p> <C-\><C-n>k:call feedkeys("p")<CR>'
31
41
32
- execute ' xnoremap ' .s: nowait .' <buffer><silent> I :call dirvish#open("edit", 0)<CR>'
33
- execute ' xnoremap ' .s: nowait .' <buffer><silent> <CR> :call dirvish#open("edit", 0)<CR>'
34
- execute ' xnoremap ' .s: nowait .' <buffer><silent> A :call dirvish#open("vsplit", 1)<CR>'
35
- execute ' xnoremap ' .s: nowait .' <buffer><silent> O :call dirvish#open("split", 1)<CR>'
36
- execute ' xnoremap ' .s: nowait .' <buffer><silent> P :call dirvish#open("p", 1)<CR>'
42
+ " The patch 8.2.1978 adds '<cmd>' to Vim.
43
+ if ! has (' patch-8.2.1978' )
44
+ let s: call_prefix = ' :'
45
+ endif
46
+ execute ' xnoremap ' .s: nowait .' <buffer> I ' .s: call_prefix .' call dirvish#open("edit", 0)<CR>' .s: command_suffix
47
+ execute ' xnoremap ' .s: nowait .' <buffer> <CR> ' .s: call_prefix .' call dirvish#open("edit", 0)<CR>' .s: command_suffix
48
+ execute ' xnoremap ' .s: nowait .' <buffer> A ' .s: call_prefix .' call dirvish#open("vsplit", 1)<CR>' .s: command_suffix
49
+ execute ' xnoremap ' .s: nowait .' <buffer> O ' .s: call_prefix .' call dirvish#open("split", 1)<CR>' .s: command_suffix
50
+ execute ' xnoremap ' .s: nowait .' <buffer> P ' .s: call_prefix .' call dirvish#open("p", 1)<CR>' .s: command_suffix
37
51
38
52
nnoremap <buffer> <silent> R :<C-U><C-R> =v:count ? ':let g:dirvish_mode='.v:count.'<Bar> ' : ''<CR> Dirvish<CR>
39
53
nnoremap <buffer> <silent> g? :help dirvish-mappings<CR>
0 commit comments