+ exec printf("nnoremap <buffer> q :b %d<CR>", b:nm_prev_bufnr)
+ nnoremap <buffer> <C-N> :call <SID>NM_cmd_show_next()<CR>
+endfunction
+
+function! s:NM_cmd_show_next()
+ let info = b:nm_raw_info
+ let lnum = line('.')
+ let cnt = 0
+ for msg in info['msgs']
+ let cnt = cnt + 1
+ if lnum >= msg['start']
+ continue
+ endif
+
+ exec printf('norm %dG', msg['start'])
+ norm zz
+ return
+ endfor
+ norm qj
+ call <SID>NM_search_display()