diff --git a/autoload/qf/wrap.vim b/autoload/qf/wrap.vim index b543780..b582130 100644 --- a/autoload/qf/wrap.vim +++ b/autoload/qf/wrap.vim @@ -24,17 +24,17 @@ set cpo&vim " TODO (romainl): Built-in :cn/:cp/:ln/:lp stop at the beginning " and end of the list. This allows us to wrap " around. -function! qf#wrap#WrapCommand(direction, prefix) +function! qf#wrap#WrapCommand(direction, prefix, count) if a:direction == "up" try - execute a:prefix . "previous" + execute a:count . a:prefix . "previous" catch /^Vim\%((\a\+)\)\=:E553/ execute a:prefix . "last" catch /^Vim\%((\a\+)\)\=:E\%(325\|776\|42\):/ endtry else try - execute a:prefix . "next" + execute a:count . a:prefix . "next" catch /^Vim\%((\a\+)\)\=:E553/ execute a:prefix . "first" catch /^Vim\%((\a\+)\)\=:E\%(325\|776\|42\):/ diff --git a/plugin/qf.vim b/plugin/qf.vim index b4277cc..881b02c 100644 --- a/plugin/qf.vim +++ b/plugin/qf.vim @@ -34,12 +34,12 @@ nmap QfLtoggle (qf_loc_toggle) nmap QfSwitch &filetype ==# 'qf' ? 'p' : 'b' " Go up and down quickfix list -nnoremap (qf_qf_previous) : call qf#wrap#WrapCommand('up', 'c') -nnoremap (qf_qf_next) : call qf#wrap#WrapCommand('down', 'c') +nnoremap (qf_qf_previous) : call qf#wrap#WrapCommand('up', 'c', v:count1) +nnoremap (qf_qf_next) : call qf#wrap#WrapCommand('down', 'c', v:count1) " Go up and down location list -nnoremap (qf_loc_previous) : call qf#wrap#WrapCommand('up', 'l') -nnoremap (qf_loc_next) : call qf#wrap#WrapCommand('down', 'l') +nnoremap (qf_loc_previous) : call qf#wrap#WrapCommand('up', 'l', v:count1) +nnoremap (qf_loc_next) : call qf#wrap#WrapCommand('down', 'l', v:count1) " Toggle quickfix list nnoremap (qf_qf_toggle) : call qf#toggle#ToggleQfWindow(0)